nginx反向代理踩過的坑及解決
nginx作代理服務(wù)器,無法上傳大于1M文件
解決方式
在proxy_pass的location添加下面2行解決。
client_max_body_size 512m; client_body_buffer_size 10m;
client_max_body_size
默認1M,表示客戶端上傳到服務(wù)器最大允許大小,文件到服務(wù)器端后(后臺檢驗),檢驗發(fā)現(xiàn)大于該值,HTTP協(xié)議會報錯 413 Request Entity Too Large。(注意這僅僅影響上傳)
client_body_buffer_size
小于client_body_buffer_size直接將數(shù)據(jù)先在內(nèi)存中存儲。如果請求的值大于client_body_buffer_size小于client_max_body_size,就會將數(shù)據(jù)先存儲到臨時文件中。
以下實驗nginx的版本1.17.3
在linux環(huán)境
- client_max_body_size 3g;
- client_body_buffer_size 50m;(單位不可為g,不然啟動報錯)
- client_body_buffer_size 值嘗試1m-3072m 上傳2.4GB的文件結(jié)果都成功!
在windows版本下
問題多多值得注意!
- client_max_body_size 3g;
- client_body_buffer_size 2047m;(單位不可為g,可成功啟動最大值是2047m,但看下面)
上傳2.4GB的文件結(jié)果:失敗
nginx報錯
malloc(2146435072) failed (8: Not enough storage is available to process this command)
情況說明
1. 即使我添加主機物理內(nèi)存到6GB,可用5GB。也報這錯
2. 即使上傳2KB的文件,也報這錯
3. 嘗試將client_body_buffer_size值設(shè)置在大于1024m以,上傳1300m可成功,但上傳文件如1500m會出錯。
4. client_body_buffer_size值設(shè)置在小于等于1024m,可成功上傳1900m。但上傳2048m失敗,也報這錯。
5. 當上傳的單文件大于client_body_buffer_size值時,而小于client_max_body_size某些情況下也會出現(xiàn)上傳故障。
Windows版本nginx如何設(shè)置
1. client_body_buffer_size 值不要大于或接近1024m。
2. client_max_body_size 和client_body_buffer_size相同的值,(畢竟存放內(nèi)存,也高效)。
另外注意。 因設(shè)置 client_body_buffer_size過大,數(shù)據(jù)先存儲到內(nèi)存,但實際占用內(nèi)存是雙倍的,上傳完畢釋放。
Nginx報504 gateway timeout錯誤
網(wǎng)站項目有Excel導(dǎo)入的功能,執(zhí)行一個非常耗時的文件,超時不返回,瀏覽器返回504 gateway timeout錯誤!
解決方式
在proxy_pass的location添加以下
proxy_connect_timeout 3600s; proxy_send_timeout 3600s; proxy_read_timeout 3600s;
以上的單位是秒。
總結(jié)
好了,這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx搭建RTMP流媒體服務(wù)器的實現(xiàn)
本文主要介紹了Nginx搭建RTMP流媒體服務(wù)器的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07nginx-rtmp-module構(gòu)建流媒體直播服務(wù)器實戰(zhàn)指南
本文主要介紹了nginx-rtmp-module構(gòu)建流媒體直播服務(wù)器實戰(zhàn)指南,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-02-02Nginx加固的幾種方式(控制超時時間&限制客戶端下載速度&并發(fā)連接數(shù))
本文主要介紹了Nginx加固的幾種方式,包括控制超時時間,限制客戶端下載速度,并發(fā)連接數(shù)這幾種方式,具有一定的參考價值,感興趣的可以了解一下2024-03-03通過Nginx搭建Tomcat9集群并實現(xiàn)Session共享
這篇文章主要介紹了通過Nginx搭建Tomcat9集群并實現(xiàn)Session共享,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06Nginx+Windows搭建域名訪問環(huán)境的操作方法
這篇文章主要介紹了Nginx搭建域名訪問環(huán)境,包括nginx配置文件的相關(guān)介紹及對nginx配置文件的分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03nginx刷新頁面出現(xiàn)404解決方案(親測有效)
本文主要介紹了nginx刷新頁面出現(xiàn)404解決方案,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03