前端lvs訪問多臺nginx代理服務時出現404錯誤的處理
環境描述:
app --> lvs --> nginx --> server
?
app訪問頁面購買流量頁面(nginx服務器)代理到后端和服務器交互(多臺server)
剛開始訪問沒有問題,流量變大為了避免出現問題,nginx配置了兩臺進行負載均衡
app發送類似如下請求:
https://dxacctest.chinasoft.com/index?appid=10000&uuid=89769011E
問題出現了,經常出現404的頁面,起初懷疑是lvs沒有進行session綁定,后面綁定了問題依舊
單獨訪問如:1.1.1.1又沒有問題,通過域名訪問以后就有問題了
原來每臺nginx上面配置了多個服務,當配置ip地址的時候,可以找到,但是當lvs去找的時候,多個地址無法匹配,這時候server_name需要配置域名即可
[root@u04mon02 conf.d]# pwd
/etc/nginx/conf.d
[root@u04mon02 conf.d]# ls
common_traffic.conf default.conf default.conf.rpmnew game_querypay.conf game_trace.conf monitor.conf
nginx的配置
[root@u04mon02 conf.d]# pwd /etc/nginx/conf.d [root@u04mon02 conf.d]# ls common_traffic.conf default.conf default.conf.rpmnew game_querypay.conf game_trace.conf monitor.confnginx的配置 # cat dxflow.conf upstream dxflowservers {server 10.0.0.1:8091 weight=1 max_fails=2 fail_timeout=3;server 10.0.0.2:8091 weight=1 max_fails=2 fail_timeout=3; } server { server_name 1.1.1.1;server_name dxacctest.chinasoft.com; # 關鍵配置,當一個nginx服務同時提供多個域名服務時,需要配置域名,前面的lvs才能找到location /{root /data/yunva/dx_traffic/liuliang_http/liuliangsdk/;index index.html;try_files $uri $uri/ /index.html;}location /dingxiangsdk/{proxy_set_header Host $host;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass http://dxflowservers/; } }
?