点赞
评论
收藏
分享
举报
【转载】NGINX反向代理配置去除前缀
发表于2021-10-13 14:21

浏览 1.4k

作者: gcygeeker

原文链接: nginx反向代理配置去除前缀_α-geek的专栏-CSDN博客


使用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。


参考资料1 



已修改于2023-03-07 00:00
创作不易,留下一份鼓励
NGINX社区小N助手

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
NGINX社区小N助手
这家伙很懒还未留下介绍~
14
文章
0
问答
12
粉丝
相关文章
TableofContentsNameStatusSynopsisDescriptionDirectivesrds_jsonrds_json_buffer_sizerds_json_formatrds_json_rootrds_json_success_propertyrds_json_user_propertyrds_json_errcode_keyrds_json_errstr_keyrds_json_retrds_json_content_typeInstallationCompatibilityAuthorCopyright&LicenseSeeAlsoStatusThismoduleisconsideredproductionready.Weneedyourhelp!Ifyoufindthismoduleusefuland/orinteresting,pleaseconsiderjoiningthedevelopment!Commitbitcanbefreelydeliveredatyourrequest
点赞 1
浏览 930
在之前做过Nginx热升级的演示,他能保证nginx在不停止服务的情况下更换他的binary文件,这个功能非常有用,但我们在执行Nginx的binary文件升级过程中,还是会遇到很多问题,比如老的worker进程一直退不掉或者新的worker进程升级以后出现问题需要考虑回滚,或者升级新的Nginx文件以后会发现预期的功能或者指向的配置文件出现了错误,下面我们来看下看热升级的流程是怎样进行的?热升级流程第一步就是把旧的Nginx替换为新的Nginx文件(binary文件),之所以说只替换binary文件是因为大部分场景下,我们新编译的nginx文件所指定的相应的配置选项,比如说配置文件的目录在哪里?log的所在目录在哪里?必须保持和老的Nginx是一致的,否则的话没有办法复用nginx.conf文件,如果我们仅仅替换binary文件,请注意要备份,另外在新版本的Linux中,会要求在覆盖一个正在使用的文件时需要用 cp-f 才能够替换。接下来我们像现在的老master进程发送USR2信号,这时候我
点赞 0
浏览 2.3k
2021年4月8日,NGINX官方授权认证考试中心正式宣布对外接待来自全国各地的考生。NGINX官方授权认证考试中心正式成立,北京力尊信通科技股份有限公司凭借丰富的认证考试培训经验,面向中国广大NGNIX用户、NGINX技术从业者和技术爱好者、开源技术发烧友,提供全面、科学的专业化认证和等级考试。 此次NGINX官方授权认证考试中心落户中国,可以为NGINX相关技术从业者和爱好者提供有力的技术能力认证,目前已推出的认证考试分为三个等级:NGINXAccreditedAdministrator(NAA)、NGINXAccreditedProfessional(NAP)、NGINXAccreditedExpert(NAE)。 NGINX认证考试属于进阶式考试:NAP的考生需要具备有效期内的NAA证书,NAE的考生需要具备有效期内的NAP证书。NGINX认证考试证书有效期为两年。考试合格者由NGINX全球总部统一签发NGINX认证考试证书。NGINX官方授权认证考试中心负责人杨杰女士说:“NGINX认证考试为上千万NGINX开源软件的从业者提供
点赞 1
浏览 1.8k