nginx反向代理的时候,关于目录结尾加斜杠和不加斜杠的跳转问题
在配置nginx配置反向代理的时候,也许大家会遇到这样的问题,就是发现目录名称后面不加斜杠的话会自动跳转至原网址
比方说:
我将aaa.com反向到bbb.com的82端口
那么配置代码如下:
server {
listen 80;
server_name aaa.com;
location / {
proxy_pass http://bbb.com:82;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header User-Agent;
proxy_set_header Host $host;
}
access_log logs/bbb.com.access.log;
}
这样配置确实可以,但是如果你输入aaa.com/123
123是一个目录,而不是输入aaa.com/123/
那么nginx会自动原型输出为:bbb.com:82/123/
这样是很讨厌的不是吗,因为既然是反向代理,怎么可以把被代理的潜在域名显示出来呢?
解决方法如下:
加入:proxy_redirect http://bbb.com:82/ /;
这样可以完整解决关于目录结尾加斜杠和不加斜杠的跳转问题
近期评论