您的位置:首页 > 理论基础 > 计算机网络

通过IHS(IBM HTTP SERVER)转发WAS(WEBSPHERE)应用的小问题

2008-02-25 14:17 429 查看
通过IHS(IBM HTTP SERVER)转发WAS(WEBSPHERE)应用的小问题

通过IHS转发应用本来不是什么大问题,可最近就是一小问题让我百思不得其解,直至将请求完全截下来才明白其中的问题所在。

大概的需求是这样的:

WAS(IP假如为1.1.1.1)有三个虚拟主机:admin_host,default_host,my_host

admin_host主机别名:
* 9060
* 9043

default_host主机别名:
* 9080
* 80
* 9443

my_host主机别名:
* 9082
* 9445

现要将default_host,my_host的应用映射到IHS,通过IHS(IP假如为:2.2.2.2)访问,比如:

原有应用:http://1.1.1.1:9080/abc/--------------->http://2.2.2.2/abc/
原有应用:http://1.1.1.1:9082/app/--------------->http://2.2.2.2/app/

按常规方法,映射很快就建立起来了,但default_host中的应用没有问题,都可以按映射后的方式访问
但my_host的应用只能按原有方式访问,无法通过IHS访问,错误是:无法找到页面。

看plugin-cfg.xml,没有看出任何问题,虚拟主机映射也好象没有看出问题。
由于http://1.1.1.1:9082/app/可以访问,因此也没有怀疑WAS中有什么配置问题,

经过数次尝试后,只好用工具将IHS转发的请求截下来看看,并同直接访问所产生的HTTP请求数据比较,
终于发现了问题所在:

在所有HTTP请求中,有一个HTTP头,叫HOST,

利用直接访问,HOST头的内容:
HOST:1.1.1.1:9082

而利用IHS所产要的请求,HOST头为:
HOST:2.2.2.2

而WAS在匹配虚拟主机用的就是这个字段,因此,最终的解决方案就简单了:

只要在my_host中,主机别名加上:
* 80

即可。

由此可以看出,虚拟主机,无论是IHS层面或是WAS层面,都是以最终用户请求的方式为匹配准则。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐