今天真的是遇到一个糟心的问题。折腾了一晚上。
如果你在研究niginx 的时候也报这个问题,希望这个帖子能终结你的问题
首先,在启动nginx 后,一直映射不到后台,然后一直等待,直到1分钟,然后报了:连接超时
我就一直定位,是不是 location 的配置不到位,在设置pass_proxy 的时候,要不要加 “/”。纠结了很多次。
主要的方向是nginx.conf 的配置是不是有问题
后来突然想到,可以设置nginx 的 error.log 的日志级别。
所以做了修改,将notice 改为debug
error_log logs/error.log debug;
这个时候看到error.log 的详细日志了
*167 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too while connecting to upstream, client: 183.159.182.255, server: community.dam.com, request: "POST /auth/getIdentityCode HTTP/1.1", upstream: "http://41.91.165.154:8081/auth/getIdentityCode", host: "community.dam.com", referrer: "http://community.dam.com/login"
然后对上述提示,一通搜索
客户端过早的关闭连接,在连接到上游的时候,上游也关闭了连接
得到的答案无非就是各种超时的解释,需要设置超时时间,但是我看了我的nginx ,和zuul 都已经配置了超时时间,没问题。
还照着修改了各种时间,但是没啥用,还是不行。平台最后还是报
最后,突然看到一篇文章https://blog.csdn.net/qzmrock/article/details/52634714
说是请求在处理完后响应的时候,有可能是被拦截掉了,立马想到是不是端口没有开,但是都开了,我本地用postman 直接请求都是没问题的。
但是因为是用的阿里云的服务器,有配置请求规则,比如我这里是8081端口,本身是需要对服务器自身开放。(不知道这个服务器当时设备时候为啥没有默认开放,可能默认开放了其他端口,但是不包含8081)。然后给服务器ip 访问8081端口添加白名单,问题解决。