nginx反向代理配置去除前缀

 更新时间:2019年04月03日 15:17:55   作者:gong-cy  
这篇文章主要介绍了nginx反向代理配置去除前缀的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:

方法一:加"/"

server {
    listen              8000;
    server_name         abc.com;
    access_log  "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G"  main;
 
    location ^~/user/ {
        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_set_header X-NginX-Proxy true;
 
        proxy_pass http://user/;
    }
 
    location ^~/order/ {
        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_set_header X-NginX-Proxy true;
 
        proxy_pass http://order/;
    }
}

^~/user/表示匹配前缀是user的请求,proxy_pass的结尾有/, 则会把/user/*后面的路径直接拼接到后面,即移除user

方法二:rewrite

upstream user {
 server localhost:8089 weight=5;
}
upstream order {
 server localhost:8090 weight=5;
}
 
server {
 listen  80;
 server_name abc.com;
 access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main;
 
 location ^~/user/ {
 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_set_header X-NginX-Proxy true;
 
 rewrite ^/user/(.*)$ /$1 break;
 proxy_pass http://user;
 }
 
 location ^~/order/ {
 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_set_header X-NginX-Proxy true;
 
 rewrite ^/order/(.*)$ /$1 break;
 proxy_pass http://order;
 }
}

proxy_pass结尾没有/rewrite重写了url。

---------------------

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • Nginx服务器设置网站验证访问的方法

    Nginx服务器设置网站验证访问的方法

    这篇文章主要介绍了Nginx服务器设置网站验证访问的方法,通过设置密码来要求登录网站目录的用户进行验证,需要的朋友可以参考下
    2015-07-07
  • Nginx源码编译安装过程记录

    Nginx源码编译安装过程记录

    本文给大家分享Nginx源码编译安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-11-11
  • 完美解決Nginx 504 Gateway time-out问题

    完美解決Nginx 504 Gateway time-out问题

    这篇文章主要介绍了完美解決Nginx 504 Gateway time-out问题,需要的朋友可以参考下
    2014-11-11
  • Nginx代理接口访问返回404的实现示例

    Nginx代理接口访问返回404的实现示例

    因为不同业务系统间有接口调用,存在跨域问题,为了解决同源策略,需要将接口通过nginx去转发,本文主要介绍了Nginx代理接口访问返回404的实现示例,感兴趣的可以了解一下
    2024-06-06
  • Nginx 解决WebApi跨域二次请求以及Vue单页面的问题

    Nginx 解决WebApi跨域二次请求以及Vue单页面的问题

    下面小编就为大家分享一篇Nginx 解决WebApi跨域二次请求以及Vue单页面的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 详解常用的nginx rewrite重写规则

    详解常用的nginx rewrite重写规则

    这篇文章主要介绍了详解常用的nginx rewrite重写规则,Nginx的rewrite功能是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。感兴趣的可以一起来了解一下
    2019-03-03
  • Nginx 禁止IP访问如何实现

    Nginx 禁止IP访问如何实现

    这篇文章主要介绍了Nginx 禁止IP访问如何实现的相关资料,需要的朋友可以参考下
    2017-02-02
  • Nginx配置UDP代理的实现

    Nginx配置UDP代理的实现

    使用Nginx作为UDP代理可以帮助您实现数据包的转发和负载均衡,本文就详细的来介绍一下Nginx配置UDP代理,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • Nginx日志的自动封异常ip和解封脚本方式

    Nginx日志的自动封异常ip和解封脚本方式

    这篇文章主要介绍了Nginx日志的自动封异常ip和解封脚本方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • nginx location指令(匹配顺序匹配冲突)实战示例详解

    nginx location指令(匹配顺序匹配冲突)实战示例详解

    这篇文章主要介绍了nginx location指令(实战示例匹配顺序匹配冲突)详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论