Nginx转发,swagger误将upstream作为base url

1
proxy_set_header Host $host:$server_port;

nginx反向代理时配置如下:

1
2
3
4
proxy_set_header Host $remote_addr;
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;

这就导致获取的是客户端真实的IP地址

解决办法:

屏蔽上述配置,添加以下配置:

1
proxy_set_header Host $host:$server_port;

将NGINX接收到请求头中的Host和端口继续往下传递。

参考文章

评论