Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IBM HTTP服务器,将调用路由到Websphere_Http_Ssl_Websphere - Fatal编程技术网

IBM HTTP服务器,将调用路由到Websphere

IBM HTTP服务器,将调用路由到Websphere,http,ssl,websphere,Http,Ssl,Websphere,有些事情我已经挣扎了一段时间,但我不能想出一个适当的解决办法 情况就是这样: 主机1-IBM HTTP服务器、自定义工具箱和WAS插件 主机2-WAS+应用程序 以下是我配置插件并从Websphere传播插件的步骤: 1.我使用定制工具箱,选择了正确的WAS插件目录,并创建了一个新的Web服务器插件 2.我将新的configureSERVER.bat复制到主机2上的应用程序服务器,并配置了当前配置文件。 3.在主机1上,我创建了一个管理员帐户 当我打开主机2上的WAS控制台时,我可以看到实际的W

有些事情我已经挣扎了一段时间,但我不能想出一个适当的解决办法

情况就是这样:

主机1-IBM HTTP服务器、自定义工具箱和WAS插件
主机2-WAS+应用程序

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

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

为了确保一切正常,我打开了
http://HOST1/snoop
在主机1上,我看到了正确的诊断。到目前为止,一切顺利

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

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

让我困惑的是运行snoop servlet时的细节

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

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

这是正确的,因为对于特定的servlet,Websphere上的端口是9080。但是,当我打开
https://HOST1/snoop
(因此,通过SSL),这就是生成的内容:

本地地址XXX.XXX.XXX.XXX
本地主机XXXXXXXXX
本地端口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端口),但您将该端口添加到了
默认\u主机
,该端口在插件的
虚拟主机组中可见。您的应用程序可能还映射到
默认\u主机
,因此它可以使用所有端口-9080、9443和9044。第二个传输应该在端口为9044的服务器的插件配置中可见。因为它也是ssl传输插件,所以它可以选择将请求路由到您的服务器。对于给定的应用程序,并没有办法强制插件使用特定的端口与WAS进行通信


但是你没有具体说明你真正想要实现什么?因为您的应用程序现在应该可以通过https访问。

您有1台应用程序服务器还是2台应用程序服务器?我不明白为什么在同一个虚拟主机中有两个HTTPS传输,但你认为你的应用程序只与其中一个关联。另外,您从未说过当您通过SSL将自己的上下文根访问到Web服务器时发生了什么。您所说的“同一虚拟主机中的两个HTTPS传输”是什么意思。这是我第一次做这样的事情。有1个应用服务器,而不是2个。因此,主机1包含1个HTTP服务器,主机2包含Websphere(应用程序服务器)。通常,当您添加第二个应用程序时,它只在与任何以前的应用程序相同的端口上运行,映射到相同的“default_Host”virtualhost,但位于新的上下文根下。不知怎的,你把事情弄得比必要的更复杂了。我想要实现的是以下几点:去实现它。另外,您能否在文章的其余部分详细说明一下?该应用程序仅在端口9044 btw上可用,在其他端口上不可用。@user1905189然后从与9443相关的plugin-cfg.xml传输中删除,您将确保使用了9044。插件对所有应用程序使用一个SSL传输和一个HTTP传输。@user1905189您是否为9044创建了单独的虚拟主机?