websphere EDGE 组件有两大工具,一是cache proxy,二是load balancer。在实际工作中,后者使用频率较高。
而由于现在二级域名的使用已经成为部署过程中的惯例,一般而言部署二级域名都是使用虚拟主机的方式。
传统的虚拟主机设置方式是添加<virual host>标签,使虚拟主机的域名与主机IP地址对应。但是由于load balancer是生成一个虚拟的IP向后面多台实际IP地址的web服务器转发,而域名全部对应这个虚拟的IP,这不符合虚拟主机的最基本模式。所以在这样的环境中传统的虚拟主机配置根本无法生效。
那么该怎样解决这样的问题呢
其实IHS就是APACHE2,所以很多IHS的问题,都可以用APACHE的方案去解决。前面的问题就可以使用re_write模块来解决。可以使用apache的URL重写功能来实现虚拟主机
下面给出个例子
UseCanonicalName off
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+/.domain/.cn$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)/.domain/.cn(.*) /www/doc/xx/root/public/$1$2
</IfModule>
使用这个配置后,可以实现所有xxx.domain.cn,二级域名的虚拟主机,域名配置的ip为load balancer的IP
例如访问xxx1.domain.cn 它的根目录就为/www/doc/xx/root/public/xxx1