现象
配置了proxy_redirect off之后还会跳转到pass路由。
location / {
proxy_pass http://127.0.0.1:8085;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
解决:
添加Host属性
proxy_set_header Host $http_host;
原因:
Host的含义是表明请求的主机名,因为nginx作为反向代理使用,而如果后端真实的服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败【默认反向代理服务器会向后端真实服务器发送请求,并且请求头中的host字段应为proxy_pass指令设置的服务器】。 如果Host请求头部没有出现在请求头中,则 h t t