一、背景:
我们在访问nginx代理下的项目前端页面时,经常会有访问链接最末尾带不带'/'的问题,当我们访问http://xxxx/home时,如果匹配不到location,会自动加上端口port以及最末尾的'/'重定向到http://xxxx:port/home/。
二、问题描述:
在使用的过程中,其实我们很多时候不希望重定向后会带上端口号进行重定向,我们仅仅是希望加上末尾的'/',因此引发了问题。
三、解决方案:
经过查找,找到了如下两个配置:
1、absolute_redirect:
绝对重定向开关,默认为开启;关闭后,则响应头Location的URL即是重定向url 没有域名(IP)和端口号, 而是直接采用相对路径进行重定向,如下:
开启时,http://xxxx/home会重定向到http://xxxx:port/home/
关闭后,http://xxxx/home请求的响应头Location的变成了相对路径/home/
修改nginx配置如下,经验证,问题解决。
![[转帖]Nginx中absolute_redirect、port_in_redirect配置简述_响应头](https://s2.51cto.com/images/blog/202401/06010845_6598379d1428f82111.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
2、port_in_redirect:
重定向是否带上端口的开关;关闭后, 则响应头Location的URL即是重定向url 没有端口号
修改nginx配置如下,经验证,问题也能解决:
![[转帖]Nginx中absolute_redirect、port_in_redirect配置简述_端口号_02](https://s2.51cto.com/images/blog/202401/06010845_6598379d2e81763696.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
















