nginx配置proxy_pass时url末尾带“/”与不带“/”的区别

nginx配置proxy_pass时url末尾带“/”与不带“/”的区别如下

WechatIMG186.jpeg

总结
proxy_pass 末尾 为 http://ip:80 之后什么都没有(没有/ 没有路径)
这个时候就是 全移动
否则是 替换

proxy_pass配置中url末尾带/时,
nginx转发时,会将原uri去除location匹配表达式后的内容拼接在proxy_pass中url之后。

测试地址:http://192.168.171.129/aaa/bbb.jsp

场景一:
location ^~ /aaa/ {
    proxy_pass http://192.168.171.129:8080/server/;
}
代理后实际访问地址:http://192.168.171.129:8080/server/bbb.jsp

场景二:
location ^~ /aaa {
    proxy_pass http://192.168.171.129:8080/server/;
}
代理后实际访问地址:http://192.168.171.129:8080/server//bbb.jsp

场景三:
location ^~ /aaa/ {
    proxy_pass http://192.168.171.129:8080/;
}
代理后实际访问地址:http://192.168.171.129:8080/bbb.jsp

场景四:
location ^~ /aaa {
    proxy_pass http://192.168.171.129:8080/;
}
代理后实际访问地址:http://192.168.171.129:8080//bbb.jsp

proxy_pass配置中url末尾不带/时,
如url中包含path,则将原uri去除location匹配表达式后的内容拼接在proxy_pass中的url之后
如url中不包含path,则直接将原uri拼接在proxy_pass中url之后;

 测试地址:http://192.168.171.129/aaa/bbb.jsp
 场景一:
 location ^~ /aaa/{
	proxy_pass http://192.168.171.129:8080/server;
 }
 代理后实际访问地址:http://192.168.171.129:8080/serverbbb.jsp
场景二:
location ^~ /aaa {
    proxy_pass http://192.168.171.129:8080/server;
}
代理后实际访问地址:http://192.168.171.129:8080/server/bbb.jsp


----------------全转发-----------------------------------------------------------------------------
场景三:
location ^~ /aaa/ {
    proxy_pass http://192.168.171.129:8080;
}
代理后实际访问地址:http://192.168.171.129:8080/aaa/bbb.jsp

场景四:
location ^~ /aaa {
    proxy_pass http://192.168.171.129:8080;
}
代理后实际访问地址:http://192.168.171.129:8080/aaa/bbb.jsp
server {

    listen 8899;

    add_header Access-Control-Allow-Methods *;
    add_header Access-Control-Max-Age 3600;
    add_header Access-Control-Allow-Credentials false;
    add_header Access-Control-Allow-Origin $http_origin;
    add_header Access-Control-Allow-Headers
    $http_access_control_request_headers;

    if ($request_method = OPTIONS){
        return 200;
    }

    location / {
        proxy_pass http://192.168.0.132:8899;
    }



   location  /tian/ {
      proxy_pass  https://t7.tianditu.gov.cn/;
      proxy_set_header referer http://localhost:8080/;
      proxy_set_header user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36";
      
      
          proxy_redirect default;
        proxy_connect_timeout 1s;
        proxy_read_timeout 30s;
        proxy_send_timeout 1s;
        
      # add_header 'Access-Control-Allow-Headers' 'Content-Type';
        add_header 'Access-Control-Allow-Origin' '*';
      #   add_header 'Access-Control-Allow-Methods' 'GET';
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值