解决反向代理中的重定向问题

默认分类 · 2024-01-11 · 44 人浏览

有时候服务器会向客户端返回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; 
鲁公安备37050202371261号 | 鲁ICP备2021032059号-1