nginx 此页面重定向不正确(检测到该服务器正在将此地址的请求循环重定向)

在配置nginx时遇到循环重定向错误,具体表现为访问http://nginx.example.com/test时,Firefox提示页面重定向不正确。问题出在nginx.conf的location块中,通过注释和取消注释相关proxy_set_header行来解决。只需取消代理头部Host行的注释,即可避免循环重定向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是nginx.conf中的主要配置信息:

upstream backend{

ip_bash;

server 192.168.0.11:8085;

server 102.168.0.121:8085;

}


server{

listen       80;
        server_name
ngixn.example.com;

location ^~/test/ {
                proxy_pass http://backend;
                #proxy_set_header   Host             $host;
                #proxy_set_header   X-Real-IP        $remote_addr;
                #proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

}



当我访问http://nginx.example.com/test的时候出现了, 此页面重定向不正确(检测到该服务器正在将此地址的请求循环重定向),错误信息


解决方法,只要将上述3行注释去掉就可以正确的访问了。


其实,只要将第一个注释去掉就可以了。

原因为:

Host的含义是表明请求的主机名,因为nginx作为反向代理使用,而如果后端真是的服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败【默认反向代理服务器会向后端真实服务器发送请求,并且请求头中的host字段应为proxy_pass指令设置的服务器】


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值