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作为文件下载服务器,可以极大地降低对后端Java服务器的负载冲击,但是nginx本身并不提供授权控制,这下该如何操作呢,下面小编给大家带来了NGINX 权限控制文件预览和下载的实现原理,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • linux上nginx安装部署及使用过程详解

    linux上nginx安装部署及使用过程详解

    这篇文章主要介绍了linux上nginx安装部署及使用过程,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • 分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例)

    分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例)

    这篇文章主要介绍了分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例),本文先是讲解了分析需要屏蔽日志的方法,然后讲解了Nginx中屏蔽IP的配置方法,需要的朋友可以参考下
    2015-02-02
  • Nginx如何根据前缀路径转发到不同的Flask服务

    Nginx如何根据前缀路径转发到不同的Flask服务

    这篇文章主要介绍了Nginx如何根据前缀路径转发到不同的Flask服务,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • nginx反向代理踩坑实战记录(容器方式)

    nginx反向代理踩坑实战记录(容器方式)

    Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,下面这篇文章主要给大家介绍了关于nginx反向代理踩坑(容器方式)的相关资料,需要的朋友可以参考下
    2022-04-04
  • 苹果M1芯片安装nginx 并且部署vue项目步骤详解

    苹果M1芯片安装nginx 并且部署vue项目步骤详解

    在本篇文章里小编给大家整理了一篇关于苹果M1芯片安装nginx 并且部署vue项目步骤详解内容,有需要的朋友们可以跟着学习参考下。
    2021-11-11
  • nginx代理返回代码499问题分析与处理

    nginx代理返回代码499问题分析与处理

    我们通过nginx作为互联网代理服务器,通过它实现我行内部系统向互联网系统的接口访问及调用,但是在使用过程中,不时的会出现大量返回代码为499的问题,所以本文我们对为什么nginx会返回499错误代码展开分析和研究
    2023-06-06
  • 关于Nginx服务器可视化配置问题

    关于Nginx服务器可视化配置问题

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行,这篇文章主要介绍了Nginx服务器可视化配置,需要的朋友可以参考下
    2022-10-10
  • nginx 配置代理服务地址最后多加反斜杠和不加反斜杠的区别小结

    nginx 配置代理服务地址最后多加反斜杠和不加反斜杠的区别小结

    在使用Nginx配置代理服务时,地址最后是否添加反斜杠(/)会对代理的URL处理产生影响,下面就来具体介绍一下,感兴趣的可以了解一下
    2024-08-08
  • Nginx大并发优化实战

    Nginx大并发优化实战

    这篇文章主要介绍了Nginx大并发优化实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论