I recently migrated our old Laravel app hosted with apache to a newer elasticbeanstalk with nginx as the proxy server. Everything is working as expected except the max upload size. I already implemented client_max_body_size 10M;
and it works correctly.
My problem is when I upload a bigger file (15mb), instead of my api returning an api response with an error from laravel validatiion. In the new elasticbeanstalk, the api response is the 413 error html of nginx. In my apache (old elasticbeanstalk), max file size error was displayed as JSON from laravel validation.
Is there a way to bypass the default apache 413 html error and instead use laravel file upload max size validation?
btw: I'm very not familiar with nginx so I'm still trying to understand how nginx works. Thank you!
my nginx conf:
location / {
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
}
the default php.conf for nginx
root /var/www/html/public;
index index.php index.html index.htm;
location ~ \.(php|phar)(/.*)?$ {
fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php-fpm;