Skip to content

Commit abec006

Browse files
authored
Add "PHP_MAX_FILE_UPLOADS" and "NGINX_CLIENT_MAX_BODY_SIZE" environment variables (#207)
1 parent 654ac74 commit abec006

File tree

5 files changed

+15
-0
lines changed

5 files changed

+15
-0
lines changed

core/files/entrypoint.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export PHP_MAX_EXECUTION_TIME=${PHP_MAX_EXECUTION_TIME:-300}
5050
export PHP_UPLOAD_MAX_FILESIZE=${PHP_UPLOAD_MAX_FILESIZE:-50M}
5151
export PHP_POST_MAX_SIZE=${PHP_POST_MAX_SIZE:-50M}
5252
export PHP_MAX_INPUT_TIME=${PHP_MAX_INPUT_TIME:-300}
53+
export PHP_MAX_FILE_UPLOADS=${PHP_MAX_FILE_UPLOADS:-50}
5354

5455
export PHP_FCGI_CHILDREN=${PHP_FCGI_CHILDREN:-5}
5556
export PHP_FCGI_START_SERVERS=${PHP_FCGI_START_SERVERS:-2}
@@ -67,6 +68,7 @@ export PHP_SESSION_COOKIE_SAMESITE=${PHP_SESSION_COOKIE_SAMESITE:-Lax}
6768

6869
export NGINX_X_FORWARDED_FOR=${NGINX_X_FORWARDED_FOR:-false}
6970
export NGINX_SET_REAL_IP_FROM=${NGINX_SET_REAL_IP_FROM}
71+
export NGINX_CLIENT_MAX_BODY_SIZE=${NGINX_CLIENT_MAX_BODY_SIZE:-50M}
7072

7173
# start supervisord using the main configuration file so we have a socket interface
7274
/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

core/files/entrypoint_fpm.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ change_php_vars() {
1919
sed -i "s/max_execution_time = .*/max_execution_time = ${PHP_MAX_EXECUTION_TIME}/" "$FILE"
2020
echo "Configure PHP | Setting 'upload_max_filesize = ${PHP_UPLOAD_MAX_FILESIZE}'"
2121
sed -i "s/upload_max_filesize = .*/upload_max_filesize = ${PHP_UPLOAD_MAX_FILESIZE}/" "$FILE"
22+
echo "Configure PHP | Setting 'max_file_uploads = ${PHP_MAX_FILE_UPLOADS}'"
23+
sed -i "s/max_file_uploads = .*/max_file_uploads = ${PHP_MAX_FILE_UPLOADS}/" "$FILE"
2224
echo "Configure PHP | Setting 'post_max_size = ${PHP_POST_MAX_SIZE}'"
2325
sed -i "s/post_max_size = .*/post_max_size = ${PHP_POST_MAX_SIZE}/" "$FILE"
2426
echo "Configure PHP | Setting 'max_input_time = ${PHP_MAX_INPUT_TIME}'"

core/files/entrypoint_nginx.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,10 @@ init_nginx() {
225225
echo "... adjusting 'fastcgi_connect_timeout' to ${FASTCGI_CONNECT_TIMEOUT}"
226226
sed -i "s/fastcgi_connect_timeout .*;/fastcgi_connect_timeout ${FASTCGI_CONNECT_TIMEOUT};/" /etc/nginx/includes/misp
227227

228+
# Adjust maximum allowed size of the client request body
229+
echo "... adjusting 'client_max_body_size' to ${NGINX_CLIENT_MAX_BODY_SIZE}"
230+
sed -i "s/client_max_body_size .*;/client_max_body_size ${NGINX_CLIENT_MAX_BODY_SIZE};/" /etc/nginx/includes/misp
231+
228232
# Adjust forwarding header settings (clean up first)
229233
sed -i '/real_ip_header/d' /etc/nginx/includes/misp
230234
sed -i '/real_ip_recursive/d' /etc/nginx/includes/misp

docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ services:
157157
# Nginx settings
158158
- "NGINX_X_FORWARDED_FOR=${NGINX_X_FORWARDED_FOR}"
159159
- "NGINX_SET_REAL_IP_FROM=${NGINX_SET_REAL_IP_FROM}"
160+
- "NGINX_CLIENT_MAX_BODY_SIZE=${NGINX_CLIENT_MAX_BODY_SIZE:-50M}"
160161
# Proxy settings
161162
- "PROXY_ENABLE=${PROXY_ENABLE}"
162163
- "PROXY_HOST=${PROXY_HOST}"
@@ -201,6 +202,7 @@ services:
201202
- "PHP_UPLOAD_MAX_FILESIZE=${PHP_UPLOAD_MAX_FILESIZE:-50M}"
202203
- "PHP_POST_MAX_SIZE=${PHP_POST_MAX_SIZE:-50M}"
203204
- "PHP_MAX_INPUT_TIME:${PHP_MAX_INPUT_TIME:-300}"
205+
- "PHP_MAX_FILE_UPLOADS=${PHP_MAX_FILE_UPLOADS:-50}"
204206
# PHP FPM pool setup
205207
- "PHP_FCGI_CHILDREN=${PHP_FCGI_CHILDREN:-5}"
206208
- "PHP_FCGI_START_SERVERS=${PHP_FCGI_START_SERVERS:-2}"

template.env

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ SYNCSERVERS_1_PULL_RULES=
200200
# PHP_POST_MAX_SIZE=50M
201201
# Maximum time PHP spends parsing input data in seconds.
202202
# PHP_MAX_INPUT_TIME=300
203+
# Maximum number of file to upload per request.
204+
# PHP_MAX_FILE_UPLOADS=50
203205

204206
## PHP FPM pool setup
205207
# Maximum number of php-fpm processes, limits the number of simultaneous requests.
@@ -252,6 +254,9 @@ SYNCSERVERS_1_PULL_RULES=
252254
# Options: DENY, SAMEORIGIN, ALLOW-FROM <URL> Default: SAMEORIGIN
253255
# X_FRAME_OPTIONS=
254256

257+
# NGINX maximum allowed size of the client request body.
258+
# NGINX_CLIENT_MAX_BODY_SIZE=50M
259+
255260
# Content-Security-Policy (CSP) configuration: defines allowed resources and prevents attacks like XSS.
256261
# Example: "frame-src 'self' https://*.example.com; frame-ancestors 'self' https://*.example.com; object-src 'none'; report-uri https://example.com/cspReport"
257262
# CONTENT_SECURITY_POLICY=

0 commit comments

Comments
 (0)