Nginx_proxy隐藏ip和端口号配置方案
最近使用vps做了许多网站,便用nginx做proxy。期间遇到了一些问题。刚开始的配置如下:
server {
listen 80;
server_name www.qiqufang.com;
location / {
proxy_pass http://112.213.109.16:8080/;
}
}
配置这个很简单,但是访问网站的时候就遇到了许多的麻烦.
(1)网站页面中直接读取了服务器ip和端口号。
(2)在网站服务端不能正确获取到port.或者做重定向的时候地址总是丢掉端口(port)。
最简单的解决方案,修改Nginx的配置文件:
server {
listen 80;
server_name www.qiqufang.com;
server_name_in_redirect off;
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;
location / {
proxy_pass http://112.213.109.16:8080/;
}
}
如上才是正确的配置nginx。其中的proxy_set_header Host $host:$server_port; 这一行非常关键。
(程序员百味原创博文,欢迎转载并注明出处,欢迎订阅 )
页:
[1]