我已经苦苦挣扎了一段时间,但是我无法提出适当的解决方案。

这种情况:

主机1-IBM HTTP Server,定制工具箱和WAS插件
主机2-WAS +应用程序

这些是我执行的配置插件并从Websphere传播它的步骤:
1.我使用了“定制工具箱”,选择了正确的WAS插件目录并创建了一个新的Web服务器插件。
2.我将新的configureSERVER.bat复制到主机2上的应用程序服务器,并配置了当前配置文件。
3.在主机1上,我创建了一个管理员帐户。

当我在主机2上打开WAS控制台时,可以看到实际的Web服务器,一切正常。当我选择“生成插件”和“传播插件”时,没有任何错误。我检查了HTTP Server,的确,我的plugin-cfg.xml整洁地创建并存在。

为确保一切正常,我在主机1上打开了http://HOST1/snoop,并看到了正确的诊断信息。到目前为止,一切都很好。

之后,我部署了在端口9044上运行的应用程序。但是,该应用程序在HTTPS上运行,因此我们需要确保IBM HTTP Server接受SSL连接。我生成了自己的自签名证书,将其导入httpd.conf中,然后重新启动服务器。 (如果有人感兴趣,我将在操作方法上提供更多详细信息)。

现在,当我打开https://HOST1/snoop时,我可以看到诊断信息,这是个好消息。这意味着它接受https上的连接并将其重新路由到主机2。但是问题是,我不知道如何访问运行在端口9044上的应用程序。

当我运行snoop-servlet时,令人困惑的是细节。

当我通过http(因此没有SSL)运行它时,输出为:

本地地址XXX.XXX.XXX.XXX
本地主机XXXXXXXXXX
本地端口9080

正确,因为该特定Servlet的Websphere端口为9080。但是,当我打开https://HOST1/snoop(因此通过SSL)时,将生成以下内容:

本地地址XXX.XXX.XXX.XXX
本地主机XXXXXXXXXX
本地端口9044

因此,显然,443被重新路由到第二台主机上的9044,但是Snoop servlet在9443而不是9044上运行(这是我的应用程序)。但是,然后我想知道,如果它在另一个端口上运行,为什么我可以访问该servlet。

因此,如果有人可以给我一些指导,那将是很好的。

这是VHOST:

<VirtualHostGroup Name="default_host">
    <VirtualHost Name="*:9080"/>
    <VirtualHost Name="*:80"/>
    <VirtualHost Name="*:9443"/>
    <VirtualHost Name="*:5060"/>
    <VirtualHost Name="*:5061"/>
    <VirtualHost Name="*:443"/>
    <VirtualHost Name="*:9044"/>
</VirtualHostGroup>

最佳答案

尽管您有2个端口(假设您创建了自定义传输链并为其分配了9044端口),但是您将该端口添加到了default_host,该端口在插件的VirtualHostGroup中可见。您的应用程序也可能已映射到default_host,因此可以使用所有端口-9080、9443和9044进行访问。第二传输应该在端口9044的服务器的插件配置中可见。由于它也是ssl传输插件,选择该请求将请求路由到您的服务器。无法强制插件使用特定端口与给定应用程序进行WAS通信。

但是,您没有指定要实际实现的目标吗?由于您的应用现在应该可以通过https访问。

关于http - IBM HTTP Server,将调用路由到Websphere,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26917822/

10-10 04:01