ProxyPass与ProxyPassReverse及ProxyPassMatch的概述

转载 2015年07月07日 11:37:47

http://blog.csdn.net/fenglibing/article/details/6796094/


这几个都是APACHE的代理指令:

1、ProxyPass:  

语法:ProxyPass [path] !|url

它主要是用作URL前缀匹配,不能有正则表达式,它里面配置的Path实际上是一个虚拟的路径,在反向代理到后端的url后,path是不会带过去的,使用示例:

1)、ProxyPass /images/ !

 这个示例表示,/images/的请求不被转发。

2)、ProxyPass /mirror/foo/ http://backend.example.com/

我们假设当前的服务地址是http://example.com/,如果我们做下面这样的请求:

http://example.com/mirror/foo/bar

那将被转成内部请求:

http://backend.example.com/bar

注:配置的时候,不需要被转发的请求,要配置在需要被转发的请求前面。


2、ProxyPassMatch:
语法:ProxyPassMatch [regex] !|url

这个实际上是url正则匹配,而不是简单的前缀匹配,匹配上的regex部分是会带到后端的url的,这个是与ProxyPass不同的。使用示例:

1、ProxyPassMatch ^/images !

这个示例表示对/images的请求,都不会被转发。

2、ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com$1

这个示例表示对所有gif图片的请求,都被会转到后端,如此时请求http://example.com/foo/bar.gif,那内部将会转换为这样的请求http://backend.example.com/foo/bar.gif。


3、ProxyPassReverse

语法:ProxyPassReverse [路径] url 

它一般和ProxyPass指令配合使用,此指令使Apache调整HTTP重定向应答中Location, Content-Location, URI头里的URL,这样可以避免在Apache作为反向代理使用时,。后端服务器的HTTP重定向造成的绕过反向代理的问题。参看下面的示例:

ProxyPass /example http://www.example.com/
ProxyPassReverse /example http://www.example.com/

ProxyPassReverse的作用就是反向代理,如果没有加这样的反向代理设置的情况下,访问http://www.test.com/example/a,如果www.example.com对请求进行了redirect至http://www.example.com/b,那么,客户端就会绕过反向代理,进而访问http://www.test.com/example/b。如果设置了反向代理,则会在转交HTTP重定向应答到客户端之前调整它为http://www.test.com/example/a/b,即是在原请求之后追加上了redirect的路径。


4、参考:

APACHE2.2中文文档:http://www.renren.it/my/api/apache_jinbuguo/Apache/ApacheMenu/mod/mod_proxy.html

本文出自:冯立彬的博客


Apache配置中ProxyPass与ProxyPassReverse及ProxyPassMatch的概述

apache中的mod_proxy模块主要作用就是进行url的转发,即具有代理的功能。应用此功能,可以很方便的实现同tomcat等应用服务器的整合,甚者可以很方便的实现web集群的功能。例如使用apa...

apache 配置动静分离,允许跨域, 并在反向代理的情况下维持默认主页

apache 配置动静分离, 并在反向代理的情况下维持默认主页
  • kkgbn
  • kkgbn
  • 2016年12月22日 11:58
  • 1891

ProxyPass与ProxyPassReverse及ProxyPassMatch的概述

这几个都是APACHE的代理指令: 1、ProxyPass:   语法:ProxyPass [path] !|url 它主要是用作URL前缀匹配,不能有正则表达式,它里面配置的Pat...

Apache 实现ProxyPass转发URL到Tomcat并实现http自动转https

1 实现原理与工作流程 原理: 客户浏览器使用https协议访问 ApacheServer 。ApacheServer将请求转发到后端的Tomcat。ApacheServer与后端的Tom...
  • Heng_Ji
  • Heng_Ji
  • 2017年04月07日 15:48
  • 2219

ubuntu之apache正向代理及反向代理(ProxyPass/ProxyPassReverse)

ubuntu之apache正向代理及反向代理(ProxyPass/ProxyPassReverse)环境是UBUNTU 最新版apache2安装的目录结构有变化网上很多文章都不适用了。配置(1)a2e...

apache ProxyPass ProxyPassReverse概述

        上一篇中讲了apache的安装配置参数,生成了我想要的代理、rewrite相关模块,对于代理的配置规则,在这里进行一个概述。        mod_proxy代理的作用主要就是进行ur...

Apache配置反向代理

Apache的反向代理功能虽然没有Nginx强大,但也是Apache提供的功能之一,当你的服务器因过多的历史包袱而不能切换到Nginx或因技术原因而不能熟练使用Nginx时,它也许会派上大用场。 配置...
  • drgnn
  • drgnn
  • 2013年07月21日 17:31
  • 1186

Apache配置中ProxyPassReverse指令的含义

apache中的mod_proxy模块主要作用就是进行url的转发,即具有代理的功能。应用此功能,可以很方便的实现同tomcat等应用服务器的整合,甚者可以很方便的实现web集群的功能。 例如使用a...
  • clangke
  • clangke
  • 2011年11月02日 11:01
  • 4114

ubuntu之apache正向代理及反向代理(ProxyPass\ProxyPassReverse)

ubuntu之apache正向代理及反向代理(ProxyPass\ProxyPassReverse) 环境是UBUNTU 最新版apache2安装的目录结构有变化网上很多文章都不适用了。 准备 如...

Apache配置中ProxyPassReverse指令的含义

apache中的mod_proxy模块主要作用就是进行url的转发,即具有代理的功能。应用此功能,可以很方便的实现同tomcat等应用服务器的整合,甚者可以很方便的实现web集群的功能。 例如使用a...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
举报原因:
原因补充:

(最多只允许输入30个字)