Nginx反向代理配置:将请求Host头设为被代理服务器域名
修改Nginx反向代理的Host请求头为目标网站域名
要让后端服务器收到的请求头中Host字段为你的网站域名,只需在Nginx的反向代理配置里添加指定Host的指令即可,具体操作如下:
1. 定位Nginx配置文件
通常配置文件位于/etc/nginx/nginx.conf,或者/etc/nginx/conf.d/目录下的站点专属配置文件(比如your-site.conf)。
2. 修改反向代理的location配置块
在处理反向代理的location块中,添加proxy_set_header指令指定目标Host:
server { listen 80; server_name proxy-domain.com; # 你的Nginx代理域名 location / { proxy_pass http://your-backend-server; # 你的网站后端地址 # 强制设置Host请求头为你的网站域名 proxy_set_header Host your-website-domain.com; # 可选:保留客户端真实IP等必要请求头 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
如果希望Host头跟随客户端请求的原始Host(比如客户端直接请求你的网站域名,经代理转发),可以用变量替代固定域名:
proxy_set_header Host $host;
3. 验证配置并重启Nginx
先检查配置文件语法是否合法:
nginx -t
若提示test is successful,重启Nginx使配置生效:
systemctl restart nginx
完成以上操作后,后端服务器收到的请求中Host字段就会是你指定的网站域名了。
内容的提问来源于stack exchange,提问作者Rahmouni Rabii
相关产品推荐
相关产品推荐

