nginx的域名重写和转发案例

对url进行重写


       location = /tongyong_OTA_1.0.3.bin {
         rewrite ^(.*)$ http://36.133.87.223/lecode-server/lecode-dap-server/api/open/server/ota/tongyong_OTA_1.0.3.bin permanent;
       }

        location /lecode-server/ {
            proxy_pass http://10.1.177.167:8080/;
        }
}

先对url进行重写,在转发,因为是代理。真实服务端不在本地。
如果是https协议。就把重写和转发规则写在https协议下

location中的rewirte:
不写last和break - 那么流程就是依次执行这些rewrite 
1. rewrite break
  url重写后,直接使用当前资源,不再执行location里余下的语句,完成本次请求,地址栏url不变 
2. rewrite last
  url重写后,马上发起一个新的请求,再次进入server块,重试location匹配,超过10次匹配不到报500错误,地址栏url不变 
3. rewrite redirect
  返回302临时重定向,地址栏显示重定向后的url,爬虫不会更新url(因为是临时) 
4. rewrite permanent
  返回301永久重定向, 地址栏显示重定向后的url,爬虫更新ur

上面是对URL重写,下面是对URL代理,两种方法

     location ~* \.(bin)$ {
         proxy_pass http://10.1.177.167:8080/lecode-dap-server/api/open/server/ota/$request_uri;
     }
     #location /lecode-server/ {
     #    proxy_pass http://10.1.177.167:8080/;
     #}

这里只需要一个location,注意重定向后的URL不要带/lecode-server/ ,因为这是代理的地址。后面才是转发后的URL。
posted @   安生丶  阅读(238)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示