使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务 。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:
方法一:加"/"【nginx反向代理配置去除前缀案例教程,nginx反向代理配置教程】server {listen8000;server_nameabc.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_headerX-Real-IP$remote_addr;proxy_set_headerX-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_headerX-Real-IP$remote_addr;proxy_set_headerX-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 {listen80;server_nameabc.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_headerX-Real-IP$remote_addr;proxy_set_headerX-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_headerX-Real-IP$remote_addr;proxy_set_headerX-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反向代理配置去除前缀案例教程,nginx反向代理配置教程相关内容!
推荐阅读
- 2018做聚合支付代理加盟有前景吗 中国银联聚合支付代理加盟
- Nginx源码研究之nginx限流模块详解说明
- 在centos7中安装nginx的详细教程方法
- linux系统shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库
- nginx下配置openssl实现https的方法
- 浅谈nginx反向代理中神奇的斜线
- 开一家智能家居店需要多少钱,智能家居代理的费用大概是多少?
- Nginx配置Https安全认证的解决方法
- 通信代理商替人查询个人电话号码 怎么买指定的手机号码
- 代理电动汽车,当电动车遇上代理制