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
从ssl终止点后面的glassfish连接到第三方双向https ws 上下文_Ssl_Iis_Glassfish_F5 - Fatal编程技术网

从ssl终止点后面的glassfish连接到第三方双向https ws 上下文

从ssl终止点后面的glassfish连接到第三方双向https ws 上下文,ssl,iis,glassfish,f5,Ssl,Iis,Glassfish,F5,我开发了一个部署在Glassfish 3.1中的应用程序。此应用程序只能通过https访问,有时它必须连接到位于客户网络之外的第三方Web服务。客户在其网络中有其他应用程序;我的只是一项新的“服务” 拓扑逼近 大ip F5是ssl端点。客户在此设备中具有有效的证书 IIS按域重定向到相应的服务 glassfish是带有应用程序的机器(当然是glassfish 3.1) 工作原理 当用户尝试连接到_https://somedomain 请求到达F5,SSL加密结束;现在我们有一个请求_htt

我开发了一个部署在Glassfish 3.1中的应用程序。此应用程序只能通过https访问,有时它必须连接到位于客户网络之外的第三方Web服务。客户在其网络中有其他应用程序;我的只是一项新的“服务”

拓扑逼近

  • 大ip F5是ssl端点。客户在此设备中具有有效的证书
  • IIS按域重定向到相应的服务
  • glassfish是带有应用程序的机器(当然是glassfish 3.1)
工作原理 当用户尝试连接到_https://somedomain 请求到达F5,SSL加密结束;现在我们有一个请求_http://somedomain. 在下一步中,F5将此请求重定向到IIS,最后重定向到glassfish。这些请愿书得到了成功的处理

兴趣点
  • 我完全控制glassfish服务器及其所在虚拟机的S.O。此服务器上未部署或将不会部署其他应用程序;它是应用程序及其所需服务的专用服务器。Glassfish在一个具有Debian发行版的VM上运行,该VM由VM服务器提供,但我不知道品牌、型号等。Glassfish具有默认的http侦听器配置
  • 我没有关于网络和其他设备的更多信息,无法访问 任何其他设备的任何配置文件。我不能为自己修改网络的任何部分,但可能会要求、建议或建议进行更改。网络的行为不应该改变
  • 实际上,用户可以毫无问题地访问应用程序
  • 使用的证书是Verysign信任的简单域证书
  • 客户不知道怎么解决这个问题
问题 应用程序必须访问的所有第三方WS都具有唯一的https访问,并且在某些情况下,所需的身份验证是相互的(双向的),我们在这里发现了问题。当应用程序希望通过相互ssl身份验证连接到WS时,它会发送glassfish本地密钥库配置目标证书。如果可能,客户希望对传入和传出的安全连接使用相同的证书。此证书位于F5中,我无法添加到glassfish密钥库,因为如果我这样做,我将违反Verysign合同要求。我一直在谷歌寻找解决方案,这里(stackoverflow),jita,。。。但我只找到了传入流量解决方案。我知道可能需要SSL代理,但我还没有找到任何示例或替代解决方案来解决即将出现的SSL连接

我的要求是什么
我不会说英语(不是很明显吗?),也许我在搜索词中没有使用正确的词。我可以理解,这种情况可能是一场噩梦,很难解决,但我会站起来。。。我需要做的第一件事是知道这个问题是否存在一个(或多个)解决方案,以及它(或它们!)是否存在,我在哪里或如何找到它/它们。我准备了不同的备选方案与客户进行谈判,但我需要知道真相。我已经花了好几个小时在这上面了。

有几个解决方案

1) 为第二个“许可证/证书”支付verisign更多的钱。他们会很乐意接受你的钱作为“特权”。)

2) 在443上创建一个不同的虚拟服务器侦听,该虚拟服务器指向一个池,该池将客户端的服务器地址作为池成员。然后在虚拟服务器上,附加一个serverssl配置文件,该配置文件被配置为使用您用于传入连接的同一证书。然后,F5将使用相同的证书进行身份验证,同时您的应用服务器将不需要安装客户端证书。此外,如果他们需要启动与您的会话,您必须使用clientssl配置文件设置虚拟服务器,该配置文件使用相同的证书并需要客户端证书进行连接

如果您的目的地可能不是静态地址,那么必须创建一个irule来处理这个问题。可以在10或更高版本的代码中通过irule中的DNS调用处理,并为会话设置一个节点