Fix file upload limit over 2MB in production with HTTPS
- Use printf instead of echo to correctly write php.ini with newlines (Alpine ash echo does not interpret \n, leaving the file malformed and PHP falling back to its 2MB default) - Add nginx.conf with client_max_body_size 25M as front-end proxy - Start nginx on port 8080 via supervisord; move artisan serve to internal port 8081 so nginx can proxy requests with proper limits Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-1
@@ -17,8 +17,9 @@ RUN mkdir -p storage/framework/{sessions,views,cache} \
|
||||
|
||||
RUN php artisan storage:link
|
||||
|
||||
RUN echo "upload_max_filesize=20M\npost_max_size=25M" > /app/php.ini
|
||||
RUN printf "upload_max_filesize=20M\npost_max_size=25M\n" > /app/php.ini
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
COPY supervisord.conf /etc/supervisord.conf
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
worker_processes auto;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
|
||||
client_max_body_size 25M;
|
||||
proxy_read_timeout 120s;
|
||||
proxy_send_timeout 120s;
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8081;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -1,8 +1,13 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
|
||||
[program:nginx]
|
||||
command=nginx -g "daemon off;"
|
||||
autostart=true
|
||||
autorestart=true
|
||||
|
||||
[program:laravel]
|
||||
command=php -c /app/php.ini /app/artisan serve --host=0.0.0.0 --port=8080
|
||||
command=php -c /app/php.ini /app/artisan serve --host=127.0.0.1 --port=8081
|
||||
autostart=true
|
||||
autorestart=true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user