nginx反向代理如何替换URL
前言
nginx 提供反向代理服务,日常开发过程中有时候我们需要使用nginx 作为代理服务根据url的不同去访问不同的服务器或者不同端口,如下提供两种方案。
一、location作用
location作用:根据用户请求的URL来执行
location配置中:
- 当用户请求“/”时,将匹配configuration A
- 当用户请求“/index.html/”时,将匹配configuration B
- 当用户请求“/documents/document.html/”时,将匹配configuration C
- 当用户请求/images/1.gif/时,将匹配configuration D
- 当用户请求/documents/1.(gif|jpg|jpeg)$时,将匹配configuration E
二、直接替换location 匹配部分
1.proxy_pass的目标地址,默认不带/
只代理域名,URL和参数部分不会变(把请求的path拼接到proxy_pass目标域名之后作为代理的URL)
2.proxy_pass目标地址后增加/
则表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址
如下图所示:
代理地址是:192.168.6.122:5840/deep/Plato
以上两个匹配成功后,实际代理的URL分别是
1.location /deep:
- 访问地址:http://10.15.32.22:5840/deep/Plato
- 把/deep/Plato直接拼接到proxy_pass 的地址http://10.15.32.22:5840后面;
2.location /deep/
- 访问地址: http://10.15.32.22:5840/Plato
- 去掉匹配到location /deep/拼接到proxy_pass 的地址http://10.15.32.22:5840后面;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Nginx根据url中的path动态转发到upstream的实现
这篇文章主要介绍了Nginx根据url中的path动态转发到upstream的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-01-01Nginx下WordPress链接(url伪静态)301永久重定向实现方法
在几个blog程序中折腾的结果,导致url连续二次变化。这是第三次了。 nginx 通过rewrite 使用 permanent; 参数 成301永久url重定向2012-09-09Nginx上配置Basic Authorization登录认服务证的教程
现在我们所使用的包括社交网络API等开放平台授权获得用户的用户名和密码一般有两种认证方式,一种是Basic Auth,一种是OAuth,这里我们就来看一下Nginx上配置Basic Authorization登录认服务证的教程2016-06-06
最新评论