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
阅读(9209) | 评论(0) | 转发(0) |