【发布时间】:2016-07-09 09:41:01
【问题描述】:
我不是 websphere 专家,我发现 websphere 的文档是明智的假设您已经深入了解它的架构和内部结构。我希望/怀疑这是一个 RTFM 问题,有人可以告诉我我理解手册的地方。
我已配置 websphere,因此它可以正确地将 JSP 内容呈现给面向内部和外部的 IP,但它不会向面向外部的 IP 呈现静态内容。
当从面向内部的 IP (http://192.168.1.1/staticContent/123456.pdf) 调用时,我得到了预期的结果。
当从面向外部的 IP (http://xxx.xxx.xxx.xxx/staticContent/123456.pdf) 调用时,我得到这个:
SRVE0255E: A WebGroup/Virtual Host to handle /staticContent/123456.pdf has not been defined.
SRVE0255E: A WebGroup/Virtual Host to handle xxx.xxx.xxx.xxx:9099 has not been defined.
尝试失败时,IHS 访问或错误日志中不会记录任何内容。成功(面向内部)尝试时,访问日志中会记录 200 或 302。
从端口号,我可以看出 IHS 正在将我打算由 IHS 处理的流量引导到 JSP,但仅当它通过面向外部的 IP 地址时。
有五个虚拟主机:
admin_host 默认主机 app_prod_host app_test_host 代理主机
端口 9099 是 prod JSP 正在侦听的端口。 Websphere 应该将此地址定向到静态内容,而不是 jsp。
httpd.conf的内容是:
<snip ...>
UseCanonicalName Off
DocumentRoot "//staticContentServer/staticContent"
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "//staticContentServer/staticContent">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</... snip>
virtual Hosts => app_prod_host => Host Aliases下,配置为:
* 9444
* 9045
* 9099
* 9062
* 80
192.168.1.1 80
mydnsname 80
mydnsname.mydomain.com 80
我发现一个有用的链接是:https://publib.boulder.ibm.com/httpserv/manual70/vhosts/examples.html 不幸的是,我正在部署的应用程序是具有大量预定义配置的第三方应用程序。我相信通过 Virtual Hosts > app_prod_host > Host Aliases UI 进行配置将完成与通过 XML 配置相同的事情(确认或反驳)。
我缺少什么或者我有多余的东西?
【问题讨论】:
-
您能否说明您希望静态内容由基于 Apache 的服务器提供服务,还是直接或转发到 WAS?这似乎是这里的核心概念问题。
-
根据推荐配置,静态内容预计由 IHS (apache) 组件提供服务。
-
当您从外部 ip 或 dns 调用时,IHS 获取请求并发送到 IHS 插件。然后插件根据 plugin-cfg.xml 重定向到应用服务器。在应用服务器端,您没有名为 staticContent 的上下文根。所以你有“未定义”的错误。 This technote 可能会有所帮助。
-
那么为什么它对内部地址起作用?
-
"Websphere 应该将此地址指向静态内容,而不是 jsp。"这完全是倒退。您的客户总是点击 IHS。 IHS 要么在本地提供它,要么通过 WAS 插件代理到 AppServer。您说 IHS 甚至没有记录这些故障。您是否还在使用外部 IP 访问 IHS?
标签: websphere websphere-8 maximo wsadmin