nginx反向代理后,获取hostname不正确的问题
kevin.Zhu 发布于:2018-9-12 9:15 分类:文摘 有 29 人浏览,获得评论 0 条
http://alex-yang-xiansoftware-com.iteye.com/blog/2404387
在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。