nginx 上傳大文件超時

jopen 8年前發布 | 13K 次閱讀 Web服務器

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

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

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

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秒。


Nginx 參考文檔:http://nginx.org/en/docs/http/ngx_http_core_module.html



來自: http://my.oschina.net/ericquan8/blog/379265

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!