前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >(转)Nginx 中配置文件 location proxy_pass路径转发规则之末尾斜杠

(转)Nginx 中配置文件 location proxy_pass路径转发规则之末尾斜杠

作者头像
leehao
发布2025-02-11 10:29:01
发布2025-02-11 10:29:01
910
举报
文章被收录于专栏:leehaoleehao

一 location匹配路径末尾没有 /

此时proxy_pass后面的路径必须拼接location的路径:

1 2 3 4 5 6 7 8

location /sta {    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://192.168.1.31/sta; }

  • 外面访问:http://192.168.1.30/sta/sta1.html
  • 相当于访问:http://192.168.1.31/sta/sta1.html

注:这里也可以写成:“proxy_pass http://192.168.1.31/sta/;”。当然,不推荐使用上面这种写法

二 location匹配路径末尾有 /

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

(1)proxy_pass后面的路径只有域名且最后没有 /:

1 2 3 4 5 6 7 8

location /sta/ {    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://192.168.1.31; }

  • 外面访问:http://192.168.1.30/sta/sta1.html
  • 相当于访问:http://192.168.1.31/sta/sta1.html

(2)proxy_pass后面的路径只有域名同时最后有 /:

1 2 3 4 5 6 7 8

location /sta/ {    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://192.168.1.31/; }

  • 外面访问:http://192.168.1.30/sta/sta1.html
  • 相当于访问:http://192.168.1.31/sta1.html

(3)proxy_pass后面的路径还有其他路径但是最后没有 /:

1 2 3 4 5 6 7 8

location /sta/ {    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://192.168.1.31/abc; }

  • 外面访问:http://192.168.1.30/sta/sta1.html
  • 相当于访问:http://192.168.1.31/abcsta1.html

(4)proxy_pass后面的路径还有其他路径同时最后有 /:

1 2 3 4 5 6 7 8

location /sta/ {    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://192.168.1.31/abc/; }

  • 外面访问:http://192.168.1.30/sta/sta1.html
  • 相当于访问:http://192.168.1.31/abc/sta1.html

附:在nginx上面配置APK文件下载路径:

1 2 3 4 5 6 7 8 9

location ^~ /h5/appdownload/ {       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://192.168.1.31/;       proxy_set_header   Cookie $http_cookie; }

  • 外面访问:http://test.com/h5/appdownload/Demo_1.0.0.apk
  • 相当于访问:http://192.168.1.31/Demo_1.0.0.apk

每次更新apk文件,只需要上传新的apk文件到192.168.1.31服务器,然后再更新对外的下载地址为http://test.com/h5/appdownload/newName.apk即可,并不需要更改nginx的任何配置

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档