ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
来源:互联网 发布:阿里云创业创新基地 编辑:程序博客网 时间:2024/06/11 13:44
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
本文出自:冯立彬的博客
- ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
- ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
- ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
- Apache配置中ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
- apache ProxyPass ProxyPassReverse概述
- ubuntu之apache正向代理及反向代理(ProxyPass\ProxyPassReverse)
- ubuntu之apache正向代理及反向代理(ProxyPass\ProxyPassReverse)
- ubuntu之apache正向代理及反向代理(ProxyPass/ProxyPassReverse)
- 关于ProxyPass、ProxyPassReverse代理和反向代理的理解
- 关于apache模块mod_proxy中ProxyPass和ProxyPassReverse
- ProxyPassReverse
- Apache的ProxyPass指令详解
- Apache的ProxyPass指令详解
- 对apache proxypass的讲解
- Apache的ProxyPass指令详解
- Apache的ProxyPass指令详解
- Apache的ProxyPass指令详解
- Apache的ProxyPass简单使用
- web.xml配置编码方式
- 使用gdbserver和gdb调试代码
- poj3532
- 发送Ajax(get、post)请求时设置为异步
- (十六)JQuery Ready和angularJS controller的执行顺序问题
- ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
- spring 依赖注入的四种方式
- 大型网络游戏服务器的框架设计
- sed实现文件自我复制
- Xcode自动注释插件VVDocumenter
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- 黑马程序员——C语言基础---基础语法
- spring AOP面向切面编程的四种实现方式
- actionBar.show()崩溃问题