纸上得来终觉浅,绝知此事要躬行
现在有两台机器,域名分别为www.example1.com 和 www.example2.com。 我们将使用example1来代理example2。
首先来看一看example2本身的一些配置:
Header set Location "www.example2.com"
Header set Set-Cookie domain=www.example2.com
Header set Set-Cookie domain=www.example2.com
当我们访问example2时响应中会有Location和domain头信息。如下图:
我们下面使用example1来代理example2,通过ProxyPassReverse来更改Location头信息,通过ProxyPassReverseCookieDomain来更改cookie中的domain信息。配置如下:
ProxyPass "/example2" "http://www.example2.com"
ProxyPassReverse "/example2" "www.example2.com"
ProxyPassReverseCookieDomain "www.example2.com" "www.example1.com"
ProxyPassReverse "/example2" "www.example2.com"
ProxyPassReverseCookieDomain "www.example2.com" "www.example1.com"
上面值得注意的是ProxyPassReverseCookieDomain指令的第一个参数是被代理资源的原有domain信息,第二个才是公开的替换信息,不要弄反了。
下面我们通过example1来访问资源:
我们可以发现Location和cookie 中domain的值都已经发生了变化,他们分别是ProxyPassReverse 和ProxyPassReverseCookieDomain 指令作用的效果。
do what you love and keep going !!!!
相关文章: