Nginx反向代理转发Host设置
需做一个网站的代理,直接访问他的网站是这样的
但是我做过按常规的proxy_pass代理分组+upstream块做完后直接访问我的代理端却是这样的
直接访问了他的php界面。。。
因为默认情况下反向代理是不会转发请求中的Host头部,需要加上如下参数,红色部分
server {
listen 80;
server_name cdn.z***an.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
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_pass http://104180.****.***.com/;
}
}
同时,upstream块也不需要了,直接在proxy_pass后面写上需要代理的域名,即可正常代理转发。
如图,正常访问我的代理域名后即可转发到该网站
参考博客:https://blog.****.net/willingtolove/article/details/90760848