nginx反向代理配置去除前缀案例教程
使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:
方法一:加"/"
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/; }}
【nginx反向代理配置去除前缀案例教程】^~/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反向代理配置去除前缀内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 事件代理
- 设计模式-代理模式-Proxy
- java静态代理模式
- 监控nginx
- Kotlin基础(10)-代理模式在kotlin中的使用
- 113.|113. 【torch】反向传播弃inplace操作
- Linux|Linux 服务器nginx相关命令
- Nginx|Nginx Tomcat 构造https服务应对苹果要求
- Nginx详细教程
- Nginx进阶(1)——nginx本地代理配置访问node服务