大きいファイルをアップロードしたい
前提環境
- Apache + php
- DNS解決にnginxのSSLProxy
事象
413(Pay Load Too Large)が表示された
https://developer.mozilla.org/ja/docs/Web/HTTP/Status/413
原因
サーバーまでのどこかしらでアップロードサイズ制限に引っかかっている
調査
アクセスログ
[root@venusDev41 ~]# tailf /var/log/httpd/dev.xxxxx-access.log | grep " 413 "
何もでない
php設定
/etc/php.ini
post_max_size = 8M
upload_max_filesize = 8M
問題なさそう
Apache設定
/etc/httpd/conf/httpd.conf
LimitRequestBody 0
いれてみたが解決せず
ここまで仮説
そもそもアクセスログが出てない=開発サーバーまで来ていない
SSLProxy側のnginxで殺されている
nginx設定
/etc/nginx/nginx.conf
client_max_body_size 1m
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
↓
client_max_body_size 10m
proxy_buffer_size 64k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
無事にアップロードできた。