Nginx 上傳大文件超時解決辦法
情況如下:用nginx作代理服務器,上傳大文件時(本人測試上傳50m的文件),提示上傳超時或文件過大。
原因是nginx對上傳文件大小有限制,而且默認是1M。另外,若上傳文件很大,還要適當調整上傳超時時間。
解決方法是在nginx的配置文件下,加上以下配置:
client_max_body_size 50m; //文件大小限制,默認1mclient_header_timeout 1m; client_body_timeout 1m; proxy_connect_timeout 60s; proxy_read_timeout 1m; proxy_send_timeout 1m;
每個參數的意思:
client_max_body_size
限制請求體的大小,若超過所設定的大小,返回413錯誤。
client_header_timeout
讀取請求頭的超時時間,若超過所設定的大小,返回408錯誤。
client_body_timeout
讀取請求實體的超時時間,若超過所設定的大小,返回413錯誤。
proxy_connect_timeout
http請求無法立即被容器(tomcat, netty等)處理,被放在nginx的待處理池中等待被處理。此參數為等待的最長時間,默認為60秒,官方推薦最長不要超過75秒。
proxy_read_timeout
http請求被容器(tomcat, netty等)處理后,nginx會等待處理結果,也就是容器返回的response。此參數即為服務器響應時間,默認60秒。
proxy_send_timeout
http請求被服務器處理完后,把數據傳返回給Nginx的用時,默認60秒。
以上就是對nginx 上傳大文件超時的解決辦法詳解,如有疑問請大家留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答