龙空技术网

Nginx服务器的反向代理proxy_pass配置方法讲解

波波聊运维 873

前言:

此刻各位老铁们对“apache反向代理配置 set”大概比较讲究,大家都需要学习一些“apache反向代理配置 set”的相关内容。那么小编也在网上收集了一些对于“apache反向代理配置 set””的相关知识,希望姐妹们能喜欢,朋友们快快来学习一下吧!

就普通的反向代理来讲

Nginx的配置还是比较简单的,如:

location ~ /* {proxy_pass ;}

或者可以

location /{proxy_pass ;}

Apache2的反向代理的配置是:

ProxyPass /ysz/ 

然而,如果要配置一个相对复杂的反向代理

Nginx相对Apache2就要麻烦一些了

比如,将url中以/wap/开头的请求转发到后台对应的某台server上

可以再Nginx里设置一个变量,来临时保存/wap/后面的路径信息

也可以首先rewrite一下,然后再代理:

或者

注意上面最后的?$args,表明把原始url最后的get参数也给代理到后台

如果在proxy_pass中使用了变量(不管是主机名变量$1或后面的$2变量),则必须得加这段代码

但如果pass_proxy后没用任何变量,则不需要加,它默认会把所有的url都给代理到后台,如:

而Apache2相对就简单多了:

url的/问题

在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。

下面四种情况分别用 进行访问。

第一种:

location /proxy/ { proxy_pass ;}

会被代理到 这个url

第二种(相对于第一种,最后少一个 /)

location /proxy/ { proxy_pass ;}

会被代理到 这个url

第三种:

location /proxy/ { proxy_pass ;}

会被代理到 这个url。

第四种情况(相对于第三种,最后少一个 / ):

location /proxy/ { proxy_pass ;}

会被代理到 这个url

上面的结果都是本人结合日志文件测试过的。从结果可以看出,应该说分为两种情况才正确。即 (上面的第二种) 这种和 .... (上面的第1,3,4种) 这种。

后面小编会分享更多运维干货,感兴趣的朋友走一波关注哩~

标签: #apache反向代理配置 set