nginx反向代理配置去除前缀
程序员文章站
2022-07-07 11:45:48
使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要...
使用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反向代理proxy_cache_path directive is not allowed错误解决方法
-
在Nginx服务器中配置mod_proxy反向代理的方法
-
Nginx作为反向代理时传递客户端IP的设置方法
-
nginx解决跨域的常用方案(nginx反向代理跨域原理)
-
使用Nginx反向代理与proxy_cache缓存搭建CDN服务器的配置方法
-
windows安装nginx部署步骤图解(反向代理与负载均衡)
-
封80端口应对策略 Nginx反向代理For WIN2003超级傻瓜式配置
-
Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)
-
CentOS基于nginx反向代理实现负载均衡的方法
-
nginx学习总结五(nginx反向代理)