swagger用Nginx反向代理之后,出现no response from server错误的解决办法
问题现象
用nginx做反向代理,在调试swagger的时候,老是端口丢失,就是默认切换到80端口。
导致用swagger调试接口的时候,响应返回:”error”: “no response from server”
问题解决
这个问题一直困扰了很久。最近再找原因,发现是因为我在配置nginx反向代理的时候,没注意到配置代理的端口,导致端口丢失!
就是这里:
proxy_set_header Host host:host:server_port; #注:添加$server_port配置才不会丢失端口
举个例子:
server {
listen 8080;
server_name localhost;
location / {
include uwsgi_params;
proxy_pass http://192.168.99.100:8080;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 2000m;
}
}
完美解决问题!