前端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.conf nginx的配置 # 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/; } }