在前台服务器上,我的configuration是:
server { server_name example.com; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.2.2.1:8999; } }
而在代理服务器上:
server { listen 10.2.2.1:8999; server_name example.com; autoindex on; location / { root /var/www/; } }
最后,在这个代理服务器上,有一个/var/www/test
目录,里面有一些文件。
当我尝试访问http://example.com/test
(没有结尾的斜杠!)时,出现问题:我的浏览器被redirect到http://example.com:8999/test/
…如果我尝试访问到http://example.com/test/
,没问题。
我已经尝试了proxy_redirect语句,据我所知,允许反向代理重写Location
标题,以避免这种行为,但这并没有为我工作。 为什么?。
我的第二个问题是,为什么profixied nginxredirect到这个URL? 我怎么能阻止它做到这一点?
感谢提前任何帮助。
closures后端服务器上的port_in_redirect 。