apache proxypass

上一遍url redirect 文章中介绍了
使用rewrite apache 模块把旧域名的所有连接重定向到新域名。
但是有时候需要保持原域名不变,内容则需要到新域名中提取。
这时候需要用到proxy即代理,proxy分为正向代理和反向代理,具体概念及用法我会通过另一篇文章介绍,
先介绍用proxy模块解决上述问题。

#proxy pass

ProxyRequests Off
ProxyPass / http://kimnote.com/
ProxyPassReverse / http://kimnote.com

用上述方法既可以保持url不变,但是内容已经从kimnote.com中取了。

此外还有很多关于proxy的设置,常用的参考如下:

ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300

ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1
RewriteEngine On

RewriteCond %{HTTPS} =off
RewriteRule . - [E=protocol:http]
RewriteCond %{HTTPS} =on
RewriteRule . - [E=protocol:https]

RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
ProxyPassReverse  /mirror/foo/ http://backend.example.com/
ProxyPassReverse  /mirror/foo/ https://backend.example.com/
ProxyPass / balancer://hotcluster/
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
# The below is the hot standby
BalancerMember ajp://1.2.3.6:8009 status=+H
ProxySet lbmethod=bytraffic

更多查看文档:

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>