解决nginx 301跳转url最后带/问题

解决nginx 301跳转url最后带/问题

前言

1、Nginx 服务中配置指令 absolute_redirect 用来配置重定向的方式。默认开启,为绝对重定向,url最后会加上/;否则为相对重定向。

2、当我们访问URI时;如果访问资源为一个目录,并且URI没有以正斜杠(/)结尾;Nginx 服务就会返回一个301跳转,目标地址就是要加一个正斜杠。

例如:

当我请求一下地址为:http://www.easysb.cn/product时,返回的请求结果为Location跳转,新的URL为http://www.easysb.cn:8080/product/,导致浏览器无法正确访问。

3、在跳转过程中 port_in_redirect指令设置跳转目录的端口,默认值为on,从 nginx 配置文件中的Listen端口获取。否则从接受到的请求头信息(header)中获取;如果是 Nginx 版本号大于 1.11.8,可以考虑用 absolute_redirect off;

解决方案

添加absolute_redirect off;只有1.11.8 才支持,低版本不需要配置

server_name_in_redirect指令是只跳转的URL的域名是用配置文件nginx.conf中的配置的

设置server_name_in_redirect 为on时:

访问https://192.168.137.3/download 会跳转到https://10.1.1.1:2443/download/

java 复制代码
server_name_in_redirect off;

port_in_redirect指令是只跳转的URL的端口是用配置文件nginx.conf中的配置的port,还是用请求中获取。默认值为on,即配置文件定义。

java 复制代码
port_in_redirect off;
相关推荐
阿Y加油吧29 分钟前
Docker从入门到实战——含容器部署、docker基础、项目部署
运维·docker·容器
st7802061 小时前
Debian 13.1 下编译Openwrt24
运维·debian·openwrt
Wang's Blog1 小时前
Linux小课堂: NGINX反向代理服务器配置与实践
linux·运维·nginx
运维行者_2 小时前
运维实战:SSL 证书故障避坑指南(精简版)
运维·网络协议·ssl
AI扶我青云志2 小时前
AGENT 和自动化工作流的区別
运维·自动化
victory04312 小时前
progen2 docker镜像打包命令文档
运维·docker·容器
初学者_xuan2 小时前
零基础新手小白快速了解掌握服务集群与自动化运维(十五)Redis模块-哨兵集群
运维·redis·自动化
conkl2 小时前
在 CentOS 系统上实现定时执行 Python 邮件发送任务完整指南
linux·运维·开发语言·python·centos·mail·邮箱
江輕木2 小时前
VMware安装配置CentOS 7
linux·运维·centos
Su-RE3 小时前
[Nginx] 3.由HTTP转发引出的重定向问题
运维·nginx·http