nginx反向代理配置去除前缀案例教程


Posted in Servers onJuly 26, 2021

使用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反向代理配置去除前缀内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
nginx对http请求处理的各个阶段详析
Mar 31 Servers
nginx里的rewrite跳转的实现
Mar 31 Servers
nginx搭建图片服务器的过程详解(root和alias的区别)
Mar 31 Servers
使用nginx配置访问wgcloud的方法
Jun 26 Servers
NGINX 权限控制文件预览和下载的实现原理
Jan 18 Servers
图文详解nginx日志切割的实现
Jan 18 Servers
详解nginx安装过程并代理下载服务器文件
Feb 12 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
解决IIS7下无法绑定https主机的问题
Apr 29 Servers
Linux磁盘管理方法介绍
Jun 01 Servers
vscode内网访问服务器的方法
Jun 28 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
Aug 14 Servers
nginx结合openssl实现https的方法
nginx配置虚拟主机的详细步骤
nginx的zabbix 5.0安装部署的方法步骤
nginx请求限制配置方法
使用goaccess分析nginx日志的详细方法
Jul 09 #Servers
nginx作grpc的反向代理踩坑总结
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
You might like
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
js倒计时显示实例
2016/12/11 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
python的中异常处理机制
2018/08/30 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
python同时遍历两个list用法说明
2020/05/02 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
英语专业学生的自我评价
2013/12/30 职场文书
迅雷Cued工作心得体会
2014/01/27 职场文书
摄影助理岗位职责
2014/02/07 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
感谢信范文大全
2015/01/23 职场文书
三八节活动简报
2015/07/20 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python
Java 多线程协作作业之信号同步
2022/05/11 Java/Android