解决同事所谓的nginx反向代理问题

解决同事所谓的nginx反向代理问题
问题:同事研发的一个类似于请求转发工具,想要测试功能,请求首先进入到有外网ip的102服务器上的nginx,然后经过nginx反向代理至同事工作电脑ip60的80端口上,然后经由同事的服务转向103服务器的nginx上,再由103服务器的nginx分别根据不同的域名转向103的8080和8081服务上。问题,同事说经由103nginx转发后,test1与test2域名转发有误,test1应该转向8080,test2转向8081,但是在103nginx.conf文件中,test1 在上test2在下,但是同事访问test2时却转向了103的8080端口,同事描述,这两段nginx配置文件谁在上面谁生效,或者只有一段的时候生效。
问题排查:1、同事怀疑部署的nginx有误,要求重新部署,重新部署后问题一致,排查nginx问题。
2、怀疑研发同事开发的服务有误,将请求域名丢失,开始排查。
3、首先在同事电脑上直接排查,在电脑的hosts文件中域名指向103服务。
C:\Windows\System32\drivers\etc 在此路径下修改hosts文件(建议修改前备份)

建议修改前备份
修改完以后,直接在电脑上通过域名test1 test2分别访问,发现nginx反向代理无误,分别反向代理至103的8080 和8081端口,由此排查103的nginx没有问题。
(nginx可以加日志查看到来源ip与后向ip)
log_format main escape=json 'LB ip: r e m o t e a d d r R e m o t e i p : remote_addr - Remote ip: http_x_forwarded_for r e m o t e u s e r [ remote_user [ time_local] “ h t t p h o s t " " http_host" " request” ’
'$status b o d y b y t e s s e n t " body_bytes_sent " http_referer" ’
‘“ h t t p u s e r a g e n t " " http_user_agent" " http_x_forwarded_for” “KaTeX parse error: Double superscript at position 39: … '̲"country_code":…geoip_city_country_code”,’
‘“country_code3”:“KaTeX parse error: Double superscript at position 51: … '̲"city_country_n…geoip_city_country_name”,’
‘“region_name”:“KaTeX parse error: Double superscript at position 39: … '̲"city_name":"geoip_city”’
'upstream_response_time $upstream_response_time request_time $request_time ';

在这里插入图片描述
4、排查102nginx跳转有无问题
在102的配置文件中,直接将test1 与test2转向103的80端口。相当于请求进入102nginx,然后转向103nginx,再转向103的8080与8081.
修改后重新请求,发现请求两个域名皆可正常跳转,所以102转向103无误。
5、排除法判断同事研发的服务有问题,丢失域名请求。所以一个请求进入103nginx时,会从上往下读取配置文件,所以会使用第一段配置文件。
6、论遇到一个总是造bug的同事真倒霉?

发布了26 篇原创文章 · 获赞 5 · 访问量 4457

猜你喜欢

转载自blog.csdn.net/weixin_40143280/article/details/102706824
今日推荐