首页 > nginx技巧 > nginx反向代理的时候,关于目录结尾加斜杠和不加斜杠的跳转问题

nginx反向代理的时候,关于目录结尾加斜杠和不加斜杠的跳转问题

2013年8月20日 发表评论 阅读评论

在配置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/ /;

这样可以完整解决关于目录结尾加斜杠和不加斜杠的跳转问题

  1. 本文目前尚无任何评论.
您必须在 登录 后才能发布评论.
css.php