通过域SSL证书保护WebSocket连接(WSS)

时间:2017-10-20 13:59:25

标签: amazon-web-services ssl websocket wildfly

我有一个非常私密的问题,我有一个Java EE应用程序(WildFly 10),在亚马逊的基础设施上运行,很好。

此应用程序具有从特定域(“www.xxx.com”)获取的SSL证书,该证书已正确安装在Amazon的应用程序负载平衡器(ALB)上,后者保留请求并安全地转发到应用程序服务器EC2到目前为止,一切都很棒。

但是当我们尝试在JavaScript中实例化“客户端”“WebSocket”时,它甚至会在通过不安全的WebSocket(WS)使用时出现“MixedContent”错误,所以这很好,因为它是一个浏览器安全要求:

ws = new WebSocket("ws://<ip-address>:8080/web-socket");

所以我使用安全的WebSocket(WSS)建立连接,然后在IP下,然后提出IP不安全的错误,因为它没有被认证:

ws = new WebSocket("wss://<ip-address>:8443/web-socket");

所以我在WildFly 10服务器上安装了域的SSL证书,但即便如此,仍然会出现错误,因为SSL证书是为域购买的,而不是我尝试连接的IP。

如果我尝试通过安全域连接Secure WebSocket(WSS),同样连接,但亚马逊ALB总是将其丢弃以进行非活动时间,即使该值太高,生存时间(TTL)结束时间,它显示了一段时间内的性能损失,我相信通过汇集TCP连接。

ws = new WebSocket("wss://www.xxx.com.br:8443/web-socket"); 

一种可能的解决方案是购买SSL证书,而不是注册域,将在服务器的IP下注册,同样将安装在服务器上以允许Secure WebSocket和Secure Application之间的这种安全连接,你有什么见解或经验?

0 个答案:

没有答案