Nginx的反向代理自动301跳转避坑

Nginx的反向代理自动301跳转避坑

当Web服务器为Nginx时,若浏览器访问的uri最后不带斜杠,如http://www.xxx.com.cn/aaa,当aaa是一个目录时,就会产生301跳转,且自动将uri补全为http://www.xxx.com.cn/aaa/,在最后添加一个/。正常情况下,这个没有问题,浏览器会自动去访问http://www.xxx.com.cn/aaa/,而当前端存在Nginx反向代理时,就会存在一个坑,导致出错无法访问网页。

如果前端存在Nginx反向代理对外提供web代理服务,而真实的web服务器的端口可能不是80端口,假设为9000端口,则以上情况发生时,产生的301跳转的uri会变成http://www.xxx.com.cn:9000/aaa/,从而导致浏览器无法正确打开网页,要解决这个问题,需要在Nginx的配置文件中增加一个配置选项port_in_redirect off

配置示例:

server {

listen 9000;

port_in_redirect off;

....

这表示自动产生redirect的时候不要带端口,默认是打开的,因此就会出现以上的坑。在使用Nginx做反向代理时候,注意避坑。

相关推荐

Windows 10 和 Windows 11 哪个更好一点?从这几个方面为你分析
《云图》内地版裸戏被删 周迅裸露镜头不见踪影
阴阳师式神找回恢复要多久 式神找回恢复时间介绍
一则公告打破质疑 连续上涨的陆金所控股是否低估? 今年1月27日, 陆金所 控股(以下简称“陆金所”)曾刊发过一则题为《建议更改核数师,可能推迟公布2024年年度业绩》的...
部落冲突系统维护要多久?
365bet盘口开户

部落冲突系统维护要多久?

📅 07-06 🔥 841
手机如何改变字体颜色
365三式投注

手机如何改变字体颜色

📅 07-09 🔥 583