前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx proxy_pass后的url加不加/的区别

Nginx proxy_pass后的url加不加/的区别

原创
作者头像
云知识Online
发布2018-05-03 10:19:56
2.1K0
发布2018-05-03 10:19:56
举报
文章被收录于专栏:云知识学习云知识学习

nginx配置proxy_pass,需要注意转发的路径配置:

第一种:proxy_pass后缀不加斜杠

代码语言:javascript
复制
location /abc/ {            proxy_pass http://172.16.1.38:8080;     }

第二种:proxy_pass后缀加斜杠

代码语言:javascript
复制
location /abc/ {                proxy_pass http://172.16.1.38:8081/;     } 

上面两种配置,区别只在于proxy_pass转发的路径后是否带 /

针对情况1 :如果访问url = http://server/abc/test.jsp,则被nginx代理后,请求路径会便问http://proxy_pass/abc/test.jsp,将test/ 作为根路径,请求test/路径下的资源

针对情况2 :如果访问url = http://server/abc/test.jsp,则被nginx代理后,请求路径会变为 http://proxy_pass/test.jsp,直接访问server的根资源

典型实例:

代码语言:javascript
复制
worker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;upstream app{    server 172.16.1.38:8233;}upstream online{    server 172.16.1.38:8239;}server {    listen       881;    server_name  IP;    location /bxg/user/ {        root   /root;        index  index.html index.htm;        proxy_set_header Host $http_host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        client_max_body_size 100m;        proxy_pass  http://online;解释:当我们访问http://IP/881/bxg/user/下面的资源,nginx会帮我们跳转到online下面对应的IP+端口此时返回的url =http://IP/881/bxg/user/1.txt    }    location /bxg/app/ {        proxy_set_header Host $http_host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        client_max_body_size 100m;        proxy_pass  http://app/;解释:当我们访问http://IP/881/bxg/app/下面的资源(此时proxy_pass后面带斜杠),nginx也会帮我们跳转到app下面对应的IP+端口此时返回的url =http://IP/881/1.txt    }#这行属于默认匹配,就是后面什么也不添加,881端口就直接调用这个项目    location / {        root   /root;        index  index.html index.htm;        proxy_set_header Host $http_host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        client_max_body_size 100m;        proxy_pass  http://app;    }}

提示:这种location常用于只有一个公网IP和端口场景,内网IP没有进行映射,但是又需要请求我们的内网服务器的服务,就可以使用location的模式。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • nginx配置proxy_pass,需要注意转发的路径配置:
    • 第一种:proxy_pass后缀不加斜杠
      • 第二种:proxy_pass后缀加斜杠
      • 典型实例:
      相关产品与服务
      弹性公网 IP
      弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档