詳解:502 Bad Gateway nginx/xxx
阿新 • • 發佈:2019-01-23
我們訪問網站時,偶爾可能會遇到這樣的錯誤:502 Bad Gateway nginx/xxx
重新整理一次或多次就好了。這是什麼原因呢?
最近使用nginx的代理、負載均衡功能發現了這問題的根本原因。
什麼原因?就是後端的服務掛了!
示例配置一:
這種情況如果後端的服務掛了,那你怎麼刷都 是沒有用的,除非後端的服務恢復了。server{ listen 80; resolver 8.8.8.8; #server_name localhost; location / { proxy_pass http://192.168.1.210:80809$request_uri; proxy_set_header Host $http_host; #proxy_buffers 256 4k; #proxy_max_temp_file_size 0k; proxy_redirect off; proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for; #proxy_set_header Upgrade $http_upgrade; #proxy_set_header Connection "upgrade"; } }
示例配置二:
upstream backtomcat {
server 192.168.1.210:7080;
server 192.168.1.211:8980;
server 192.168.1.212:8980;
server 192.168.1.213:8980;
}
這種情況就是使用了負載均衡,後端有N+1臺伺服器,你每次訪問時雖然頁面是一樣的,但訪問的後端伺服器可能不 是一個,這種情況通過重新整理是可以解決問題的。server{ listen 80; resolver 8.8.8.8; #server_name localhost; location / { proxy_pass http://backtomcat$request_uri; proxy_set_header Host $http_host; #proxy_buffers 256 4k; #proxy_max_temp_file_size 0k; proxy_redirect off; proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; } }
當然,這兩種情況都只是Nginx的簡單配置應用,沒有判斷後端是否可用,如果新增的判斷後端是否可用的配置,是根本看不到這個錯誤的。
===========文件資訊============
署名(BY) :testcs_dn(微wx笑)
文章出處:[無知人生,記錄點滴](http://blog.csdn.net/testcs_dn)