Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3013795
  • 博文数量: 535
  • 博客积分: 15788
  • 博客等级: 上将
  • 技术积分: 6507
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-07 09:11
文章分类

全部博文(535)

文章存档

2016年(1)

2015年(1)

2014年(10)

2013年(26)

2012年(43)

2011年(86)

2010年(76)

2009年(136)

2008年(97)

2007年(59)

分类: LINUX

2007-04-05 09:56:34

ProxyPass 指令
说明    将一个远端服务器映射到本地服务器的URL空间中
语法    ProxyPass [path] !|url [key=value key=value ...]]
作用域    server config, virtual host, directory
状态    扩展(E)
模块    mod_proxy

该指令允许你将一个远端服务器映射到本地服务器的URL空间中,此时本地服务器并不充当代理角色,而是充当远程服务器的一个镜像。path是一个本地虚拟路径名,url是一个指向远程服务器的部分URL,并且不允许包含查询字符串。
当使用ProxyPass指令时,ProxyRequests指令通常应当被设为 off 。

假设本地服务器地址是: ,那么,

ProxyPass /mirror/foo/

将会导致对mirror/foo/bar的本地请求将会在内部转换为一个代理请求:bar 。


ProxyPassReverse 指令
说明    调整由反向代理服务器发送的HTTP应答头中的URL
语法    ProxyPassReverse [path] url
作用域    server config, virtual host, directory
状态    扩展(E)
模块    mod_proxy

此指令使Apache调整HTTP重定向应答中Location, Content-Location, URI头里的URL。这样可以避免在Apache作为反向代理使用时,后端服务器的HTTP重定向造成的绕过反向代理的问题。

只有明确指定的应答头会被重写,其它应答头保持不变,并且HTML页面中的URL也不会被修改。如果被代理的内容包含绝对URL引用,那么将会绕过代理。有一个第三方模块可以检查并改写HTML中的URL引用,该模块就是Nick Kew编写的mod_proxy_html。

path是本地虚拟路径的名称。url是远端服务器的部分URL。与ProxyPass指令中的使用方法相同。

例如,假定本地服务器拥有地址 ,那么

ProxyPass /mirror/foo/
ProxyPassReverse /mirror/foo/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/

不仅会把所有对mirror/foo/bar的请求直接转换为对bar的代理请求(由ProxyPass提供的功能),它还会重定向服务器backend.example.com的发送:当bar被它重定向到quux时,Apache会在转交HTTP重定向应答到客户端之前调整它为mirror/foo/quux
阅读(9176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~