使用AWS Load Balancer保护Web Socket(wss)

时间:2018-02-10 12:49:35

标签: amazon-web-services amazon-ec2 elastic-load-balancer

我有一个包含Web套接字服务器的小型nodejs应用程序。 该应用程序托管在ecs容器中,因此它基本上是在ec2实例上运行的docker镜像。

Web套接字按预期在ws://上运行。我使用端口5000。

为了在我的SSL安全网站(https)上使用它,我需要在wss://上使用安全的网络套接字连接。

归档我已经在aws上创建了一个证书(之前很多次),并且在我创建了一个负载均衡器之后。

我尝试了应用程序负载均衡器,网络负载均衡器和经典负载均衡器(上一代)。

我在StackOverflow上阅读了一些答案,并按照说明以及使用谷歌找到的一些教程。

我尝试了很多但没有成功。当然,这需要花费很多时间,因为创建负载均衡器和其他资源需要相当多的时间。

如何在使用wss://指向我的实例的aws上创建负载均衡器。有人可以提供示例或说明吗?

1 个答案:

答案 0 :(得分:0)

解决方案发布 https://anandhub.wordpress.com/2016/10/06/websocket-ebs/似乎运作良好。

而不是选择https和http,而是在端口443上选择“ SSL”,在应用程序端口(例如5000)上选择“ TCP”

enter image description here

您需要通过AWS加载密钥/证书,并且loadbalancer将处理安全部分。我怀疑您无法通过这种方法利用LB的“粘性”功能。