diff --git a/server-ce/init_scripts/200_nginx_config_template.sh b/server-ce/init_scripts/200_nginx_config_template.sh index f5707260ce..ac908cf511 100755 --- a/server-ce/init_scripts/200_nginx_config_template.sh +++ b/server-ce/init_scripts/200_nginx_config_template.sh @@ -20,6 +20,7 @@ if [ -f "${nginx_template_file}" ]; then export NGINX_KEEPALIVE_TIMEOUT="${NGINX_KEEPALIVE_TIMEOUT:-65}" export NGINX_WORKER_CONNECTIONS="${NGINX_WORKER_CONNECTIONS:-768}" export NGINX_WORKER_PROCESSES="${NGINX_WORKER_PROCESSES:-4}" + export MAX_UPLOAD_SIZE="${MAX_UPLOAD_SIZE:-50}" echo "Nginx: generating config file from template" @@ -31,6 +32,7 @@ if [ -f "${nginx_template_file}" ]; then ${NGINX_KEEPALIVE_TIMEOUT} ${NGINX_WORKER_CONNECTIONS} ${NGINX_WORKER_PROCESSES} + ${MAX_UPLOAD_SIZE} ' \ < "${nginx_template_file}" \ > "${nginx_config_file}" diff --git a/server-ce/nginx/nginx.conf.template b/server-ce/nginx/nginx.conf.template index 639937f41c..2fb8ad3271 100644 --- a/server-ce/nginx/nginx.conf.template +++ b/server-ce/nginx/nginx.conf.template @@ -46,7 +46,7 @@ http { gzip_disable "msie6"; gzip_proxied any; # allow upstream server to compress. - client_max_body_size 50m; + client_max_body_size ${MAX_UPLOAD_SIZE}m; # gzip_vary on; # gzip_proxied any; diff --git a/services/web/app/src/Features/Uploads/ArchiveManager.mjs b/services/web/app/src/Features/Uploads/ArchiveManager.mjs index c9f5d6fa9f..450ffef575 100644 --- a/services/web/app/src/Features/Uploads/ArchiveManager.mjs +++ b/services/web/app/src/Features/Uploads/ArchiveManager.mjs @@ -96,7 +96,7 @@ function _isZipTooLarge(source) { ) return done(new InvalidZipFileError({ info: { totalSizeInBytes } })) } - done(null, totalSizeInBytes > ONE_MEG * 300) + done(null, totalSizeInBytes > ONE_MEG * 6 * Settings.maxUploadSize) }) }) }) diff --git a/services/web/config/settings.defaults.js b/services/web/config/settings.defaults.js index a70db4fb3c..1de65e358f 100644 --- a/services/web/config/settings.defaults.js +++ b/services/web/config/settings.defaults.js @@ -375,7 +375,9 @@ module.exports = { process.env.PROJECT_UPLOAD_TIMEOUT || '120000', 10 ), - maxUploadSize: 50 * 1024 * 1024, // 50 MB + maxUploadSize: process.env.MAX_UPLOAD_SIZE + ? parseInt(process.env.MAX_UPLOAD_SIZE, 10) * 1024 * 1024 + : 50 * 1024 * 1024, // 50 MB multerOptions: { preservePath: process.env.MULTER_PRESERVE_PATH, },