2019/12/31 22:36:32 [error] 17208#0: *47410736 connect() failed (111: Connection refused) while connecting to upstream, client: 116.62.126.152, server: xxxx.xxxx.com, request: "GET /index.htm HTTP/1.1", upstream: "http://127.0.0.1:8085/index.htm", host: "xxxx.xxxx.com"
解决过程:
首先自行监测端口和服务是否正常:
curl http://127.0.0.1:8085/index.htm
可以正常返回,但是通过域名访问nginx转发方式提示refused,纳闷。
网上难得有java的相关文章。
第一篇文章(https://blog.csdn.net/hithedy/article/details/86693393):
提到了端口不通,telnet一下,发现应用没有启动,启动应用解决问题。
另外一篇文章(https://blog.csdn.net/hao134838/article/details/80872307):
提到了请求头需要注释,解决问题
http的请求头:
#proxy_set_header Host $http_host;
#proxy_set_header X-Forward-For $remote_addr;
最终两篇文章作者都解决了问题,一个是有该http请求头配置,一个是没有,说明这个功能影响了nginx转发。 查看目前自己的配置,目前是没有该配置,因此加上试一下,解决。
location / {
proxy_pass http://wallet_t1/;
proxy_set_header Host $http_host;
proxy_set_header x-forwarded-for $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
}
因为没有办法看到公司的运维人员在网络上做的转发配置策略,但了解过有多个域名转发,这应该是造成nginx 转发策略失败的一个原因。