通常情況下,使用nginx反向代理后的服務訪問速度應該和源地址訪問速度基本無差距的,但是有些時候會發現轉發后訪問起來卻非常卡頓(響應慢),這時候就應該考慮是配置上哪里出了偏差。
在一個項目上,配置了nginx轉發之后就出現了訪問慢的問題,配置如下:
location /yanggb/ {
proxy_pass http://localhost:2333/;
}
通過查看日志,發現問題是在於【localhost】沒有在系統的host文件中配置映射【127.0.0.1】導致的,nginx先試着訪問【localhost】,訪問不成功(超時)之后才會訪問【127.0.0.1】,這是nginx的轉發機制決定的,卡頓的點就在於中間那一段超時等待的時間段,這樣雖然是能夠訪問,但是響應太慢甚至失敗,嚴重影響用戶體驗。
找到了問題之后,解決就簡單了,只需要更改轉發地址或者在系統的host文件配置上localhost映射即可。
location /yanggb/ {
proxy_pass http://127.0.0.1:2333/;
}
這樣再次訪問轉發后的地址就會發現卡頓問題消失了,因此建議配置nginx轉發的時候要格外注意不要使用【localhost】而是使用域名或具體ip代替。
"能夠堅持存錢,才是一個成年人的頂級自律。"
