今天配置了IHS(IBM Http Server)转发请求到WAS(WebSphere Application Server),这是比较常用的拓扑结构(topology),不管是WAS或者WLS常使用这种拓扑。
场景就是把IHS放置到DMZ中,WAS放置到第二道防火墙的后面,从internate上来的请求先发到IHS,再由IHS转发到内网的WAS上。
在本机上配置很简单,安装WebSphere的时候,就有一个选项问是否安装IHS,需要注意的是IBM的HttpServer现在有3个版本,1.3.x、2.x、6.0.2.x,我问了TSC的人,说最好使用和使用的WAS版本配套的IHS,WAS5.1用的是1.3.x,所以我就在本机先和WAS一起安装了,然后从WAS的console生成插件plugin-cfg.xml,然后把这个插件放置到IHS的conf目录下,然后启动apache.exe,访问http://localhost/出现欢迎页面,说明你的IHS起作用了。
现在配置IHS和WAS在不同的机器上的情况。将WAS安装盘中的IHS的安装文件拷贝出来,然后在另一台机器安装,然后把我们在本机上配置成功的IHS的目录下的conf/httpd.cfg中指定的LoadModule的mod_ibm_app_server_http.dll和plugin-cfg.xml都复制到IHS所在的机器上。将xml文件复制到conf下,将dll复制到IHS的根目录下。
然后在IHS的conf下的httpd.cfg的最后添加:
LoadModule ibm_app_server_http_module "d:/ihs/mod_ibm_app_server_http.dll"
WebSpherePluginConfig "d:/ihs/conf/plugin-cfg.xml"
注意:上面的路径要改成你的IHS的机器的路径,原来的是WAS的那台机器上的路径。
还要注意的是要把plugin-cfg.xml中的
Log LogLevel="Error" Name="d:\ihs/logs/http_plugin.log"
Name指定的文件要改成你本地的文件,如果没有这个文件,你可以手工创建一个文件,并改成你配置的名字。否则启动报错。
然后启动IHS,如果IHS没有作为服务启动的话,则执行apache.exe后要等待一会,如果立刻就访问http://localhost/很可能不能出现欢迎页面,所以要稍等一会儿,否则会以为配置不成功儿被弄得很郁闷。如果不能出现欢迎页面的话,出现的是403(禁止访问),注意不是404(找不到网页),则是权限的问题,要创建用户:htpasswd
-c -m conf/admin.conf rabbit8(我的用户名),回车,输入密码,再输入密码,重启apache,则一切OK。
另外,WAS每次有新的应用的变动,则要重新生成一个插件文件plugin-cfg.xml,这个文件里面有路由应用的映射。
公司买了Oracle和IBM的几乎所有产品的服务,所以遇到问题可以骚扰他们的客户服务热线,今天一个朋友去TSC,我打电话进去,直接他帮我解答这个问题,可惜电话是录音的,不敢闲聊,呵呵!
IHS还有很多功能,如支持HTTPS访问,朋友说比较麻烦,用到的时候再去骚扰TSC,哈哈!
从办公室出来,抬头看看天空,发现月亮很亮,忽然想起今天是阴历十五,是月亮最圆的时候,“思君如满月,夜夜减清辉”,不知道老婆一个人的日子过得怎样了?