proxy_intercept_errors on; #如果被代理服務(wù)器返回的狀態(tài)碼為400或者大于400,設(shè)置的error_page配置起作用。默認(rèn)為off。
error_page 404 https://www.baidu.com; #錯(cuò)誤頁
如果我們的代理只允許接受get,post請求方法的一種
proxy_method get; #支持客戶端的請求方法。post/get;
如果你的nginx服務(wù)器給2臺(tái)web服務(wù)器做代理,負(fù)載均衡算法采用輪詢,那么當(dāng)你的一臺(tái)機(jī)器web程序iis關(guān)閉,也就是說web不能訪問,那么nginx服務(wù)器分發(fā)請求還是會(huì)給這臺(tái)不能訪問的web服務(wù)器,如果這里的響應(yīng)連接時(shí)間過長,就會(huì)導(dǎo)致客戶端的頁面一直在等待響應(yīng),對(duì)用戶來說體驗(yàn)就打打折扣,這里我們怎么避免這樣的情況發(fā)生呢。這里我配張圖來說明下問題。

如果負(fù)載均衡中其中web2發(fā)生這樣的情況,nginx首先會(huì)去web1請求,但是nginx在配置不當(dāng)?shù)那闆r下會(huì)繼續(xù)分發(fā)請求道web2,然后等待web2響應(yīng),直到我們的響應(yīng)時(shí)間超時(shí),才會(huì)把請求重新分發(fā)給web1,這里的響應(yīng)時(shí)間如果過長,用戶等待的時(shí)間就會(huì)越長。
下面的配置是解決方案之一。
proxy_connect_timeout 1; #nginx服務(wù)器與被代理的服務(wù)器建立連接的超時(shí)時(shí)間,默認(rèn)60秒
proxy_read_timeout 1; #nginx服務(wù)器想被代理服務(wù)器組發(fā)出read請求后,等待響應(yīng)的超時(shí)間,默認(rèn)為60秒。
proxy_send_timeout 1; #nginx服務(wù)器想被代理服務(wù)器組發(fā)出write請求后,等待響應(yīng)的超時(shí)間,默認(rèn)為60秒。
proxy_ignore_client_abort on; #客戶端斷網(wǎng)時(shí),nginx服務(wù)器是否終端對(duì)被代理服務(wù)器的請求。默認(rèn)為off。