今天因业务需求,需要用nginx 做负载均衡,于是从网上找了一些资料,搞定了这个功能。贴上我最初的配置信息
upstream websocket {
server 192.168.2.124:12307 max_fails=5 fail_timeout=60s;
server 192.168.2.123:12307 max_fails=5 fail_timeout=60s;
}
server {
listen 80;
server_name 192.168.2.124;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://websocket;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_set_header Host $host;
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 X-Forwarded-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
proxy_redirect off;
proxy_read_timeout 600s;
}
}
但是在正式使用的过程中,发现每隔几次的访问,nginx 都会报错一次。错误页面如下
从网上找了各种资料,大概都是一个人的文章,被翻来覆去的抄,完全不能解决问题。
最后在一个网站的回答中找到了一条有用信息,说去除 proxy_next_upstream 后面 http_500 就好了,然后试了一下,果然解决了这个问题。具体原因暂未清楚,暂且纪录解决办法,待以后有空再仔细研究这个问题。