nginx反向代理后,获取hostname不正确的问题
在nginx上配置了反向代理后,在被代理主机上查看request的serverName 得到的被代理主机的hostname,而不是用户原始请求的hostname。解决这个问题,需要进行如下配置(假设反向代理的路径为/,真实的访问地址为http://localhost:8080):
location / { proxy_pass http://localhost:8080; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
如果没有proxy_set_header这三个配置,在被代理主机上获取的hostname是localhost:8080,不是用户原始请求的hostname。
相关推荐
scaleqiao 2020-10-22
SZStudy 2020-07-04
ssihc0 2020-06-14
某些公司会墙特定网站,如果你有一个可访问的域名和服务器,就可以通过nginx反向代理来来解决这些问题。比如现在我们用mirror.example.com镜像www.baidu.com,以下是详细操作。
byourb 2020-06-05
阳光岛主 2020-06-01
岁月如歌 2020-04-15
carolAnn 2020-04-14
Strongding 2020-04-08
ysmh00 2020-03-27
APCDE 2020-02-21
Freshairx 2020-02-19
tinydu 2020-02-12
carolAnn 2020-02-01
liwf 2020-01-13
nginxs 2020-01-05
Caleb0 2019-12-27
Strongding 2019-12-24