问题:本地和ip直接访问都是可以的,通过域名访问就不行了。
解决方案:
1、nginx接口代理时,需要增加下面几个配置,例如:
原:
location /messagenotice/ {
proxy_pass http://xxxx.com;
}
修改后
location /messagenotice/ {
proxy_pass http://xxxx.com;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_buffering off;
proxy_cache off;
}
2、因为生产环境增加了域名nginx,导致多次踩坑。
如果你是本地和ip可以访问,通过域名就链接失败。那就赶紧检查下上层是否还存在nginx代理,正常都是有一个域名的nginx代理到真实的服务地址,如果找到了跳转的nginx,请把各个nginx配置中增加上述配置,一般都是再location / {} 下。
location / {
.....
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_buffering off;
proxy_cache off;
}
加上这几条,域名可以了。