nginx反向代理配置去除前缀案例教程_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作grpc的反向代理踩坑总结Nginx反向代理配置的全过程记录Nginx反向代理多个服务器的实现方法本地通过nginx配置反向代理的全过程记录nginx 反向代理之 proxy_pass的实现nginx反向代理时如何保持长连接Nginx的反向代理实例详解Nginx反向代理至go-fastdfs案例讲解

  • 本文相关:
  • 为nginx启用brotli压缩算法的方法示例
  • windows安装nginx部署步骤图解(反向代理与负载均衡)
  • centos6.4下nginx1.12.1安装教程
  • nginx中配置开启nginx status来查看服务器运行状态
  • nginx中配置过滤爬虫的user-agent的简单方法
  • linux下nginx 0.8.40的安装方法
  • nginx 平滑重启与升级的实现方法
  • nginx try_files指令判断文件是否存在实例
  • nginx下配置pathinfo及thinkphp的url rewrite模式支持
  • nginx用正则表达式实现泛域名自动匹配目录的方法
  • 如何为thinkjs静态资源配置nginx反向代理
  • 路由怎么设置nginx反向代理
  • nginx 反向代理到百度怎么配置
  • 如何用nginx配置反向代理一级域名
  • 如何使用Nginx反向代理使用SSL配置Jenkins
  • 如何在win服务器 配置nginx反向代理服务器
  • nginx反向代理和负载均衡在配置文件中怎么配置
  • nginx做反向代理时,要想让后段的realserver获得客户端的ip,ngi...
  • 如何获取nginx反向代理域名
  • nginx反向代理后为什么不能正常显示
  • 使用nginx反向代理到谷歌可行吗
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器nginx作grpc的反向代理踩坑总结nginx反向代理配置的全过程记录nginx反向代理多个服务器的实现方法本地通过nginx配置反向代理的全过程记录nginx 反向代理之 proxy_pass的实现nginx反向代理时如何保持长连接nginx的反向代理实例详解nginx反向代理至go-fastdfs案例讲解为nginx启用brotli压缩算法的方法示例windows安装nginx部署步骤图解(反向代理与负载均衡)centos6.4下nginx1.12.1安装教程nginx中配置开启nginx status来查看服务器运行状态nginx中配置过滤爬虫的user-agent的简单方法linux下nginx 0.8.40的安装方法nginx 平滑重启与升级的实现方法nginx try_files指令判断文件是否存在实例nginx下配置pathinfo及thinkphp的url rewrite模式支持nginx用正则表达式实现泛域名自动匹配目录的方法nginx提示:500 internal servernginx 多站点配置方法集合权限问题导致nginx 403 forbiddenginx服务器的反向代理proxy_pasnginx fastcgi错误primary scripnginx 403 forbidden的解决办法详解nginx服务器中配置超时时间的详解nginx upstream 配置和作用nginx伪静态配置和常用rewrite伪nginx的超时timeout配置详解如何使用nginx充当mysql的负载均衡器nginx内容缓存以及常见参数配置详析nginx如何将http访问的网站改成https访问详解linux中nginx反向代理下的tomcat集群详解nginx反向代理跨域基本配置与常见误区linux服务器下nginx的安全配置详解使用nginx+二级域名+https支持利用nginx搭建静态资源服务器的方法步骤nginx rewrite使用场景及代码案例详解nginx + php 搭建 超性能 web 服务器
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved