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服务器配置HTTPS nginx.config 配置文件(教程)
下面小编就为大家分享一篇Nginx服务器配置HTTPS nginx.config 配置文件(教程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2017-12-12关于nginx+php5.3.8+eclipse3.7工作空间的配置方法
以前用eclipse3.6时设置php服务器时完全可以在base url栏填写自己工作空间的目录,然后修改nginx.conf加一个alias就行了2011-11-11Keepalived+Nginx+Tomcat 实现高可用Web集群的示例代码
这篇文章主要介绍了Keepalived+Nginx+Tomcat 实现高可用Web集群的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-09-09Windows Server 2016 MySQL数据库安装配置详细安装教程
这篇文章主要介绍了Windows Server 2016 MySQL数据库安装配置详细安装教程,需要的朋友可以参考下2017-08-08
最新评论