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 相关文章推荐
Apache压力测试工具的安装使用
Mar 31 Servers
Nginx搭建rtmp直播服务器实现代码
Mar 31 Servers
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
Kubernetes关键组件与结构组成介绍
Mar 31 Servers
HDFS免重启挂载新磁盘
Apr 06 Servers
Linux、ubuntu系统下查看显卡型号、显卡信息详解
Apr 07 Servers
Vscode中SSH插件如何远程连接Linux
May 02 Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
Jun 01 Servers
Python安装及建立虚拟环境的完整步骤
Jun 25 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
Jul 23 Servers
Docker容器harbor私有仓库部署和管理
Aug 05 Servers
nginx结合openssl实现https的方法
nginx配置虚拟主机的详细步骤
nginx的zabbix 5.0安装部署的方法步骤
nginx请求限制配置方法
使用goaccess分析nginx日志的详细方法
Jul 09 #Servers
nginx作grpc的反向代理踩坑总结
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
You might like
PHP 常用函数库和一些实用小技巧
2009/01/01 PHP
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
用console.table()调试javascript
2014/09/04 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
javascript实现Table排序的方法
2015/05/15 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python迭代用法实例教程
2014/09/08 Python
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
如何启动时不需输入用户名与密码
2014/05/09 面试题
应届生求职信写作技巧
2013/10/24 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
2015年实习单位评语
2015/03/25 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
民事纠纷协议书
2016/03/23 职场文书
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers
vue递归实现树形组件
2022/07/15 Vue.js