微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx 反向代理location路径设置

更多文章欢迎访问程序员小非博客

一. location匹配路径末尾没有 /

此时proxy_pass后面的路径必须和location设置的路径一致:

location /index
{
   proxy_redirect off;
   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://localhost:8080/index;
}

外面访问:http://romotehost/index/index.html
相当于访问:http://localhost:8080/index/index.html

二. location匹配路径末尾有 /

此时proxy_pass后面的路径需要分为以下四种情况讨论:

  • proxy_pass后面的路径只有域名且最后没有 /:
location /index/
{
   proxy_redirect off;
   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://localhost:8080;
}

外面访问:http://romotehost/index/index.html
相当于访问:http://localhost:8080/index/index.html

  • proxy_pass后面的路径只有域名同时最后有 /:
location /index/
{
   proxy_redirect off;
   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://localhost:8080/;
}

外面访问:http://romotehost/index/index.html
相当于访问:http://localhost:8080/index.html

  • proxy_pass后面的路径还有其他路径但是最后没有 /:
location /index/
{
   proxy_redirect off;
   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://localhost:8080/test;
}

外面访问:http://romotehost/index/index.html
相当于访问:http://localhost:8080/testindex.html

  • proxy_pass后面的路径还有其他路径同时最后有 /:
location /index/
{
   proxy_redirect off;
   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://localhost:8080/test/;
}

外面访问:http://romotehost/index/index.html
相当于访问:http://localhost:8080/index/index.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐