Nginx 上傳大文件超時解決辦法

狀況以下:用 nginx 做代理服務器,上傳大文件時(本人測試上傳50m的文件),提示上傳超時或文件過大。nginx

緣由是 nginx 對上傳文件大小有限制,並且默認是 1M。另外,若上傳文件很大,還要適當調整上傳超時時間。tomcat

解決方法是在 nginx 的配置文件下,加上如下配置:bash

client_max_body_size     50m; //文件大小限制,默認1m
client_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秒
相關文章
相關標籤/搜索