有时候服务器会向客户端返回301或者302的跳转,通常是用Location字段来实现的。
但这对nginx反向代理来说,就容易出现问题,因为服务器跳转的路径是以服务器为准的。并没有考虑反向代理。
比如:
服务器为 192.168.1.200:11443 反向代理到 192.168.1.200:443
这时候URL会跳转到 https://192.168.1.200:443/
但是实际上访问反向代理时,是访问不了https://192.168.1.200:11443/
这个地址的,这时候就用到 proxy_redirect
proxy_redirect 是专门修改响应头的 Location选项的
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect https://$host:11443 https://$host;