如何在 AWS EC2 中允许使用 HTTPS 的 WebSockets 连接

如何在 AWS EC2 中允许使用 HTTPS 的 WebSockets 连接

我使用 RatchetPHP 库创建了一个聊天室,但我不知道如何允许使用 https 的 websockets 连接,我的聊天室只能使用 http,当我尝试使用 SSL 时,G Console 中出现错误:错误连接超时。

那么,如何在 https 下允许 websockets 连接?
我需要设置反向代理吗?我该怎么做?
哪个最好用,apache 还是 nginx?解释一下为什么
使用 Let's Encrypt 作为 SSL 可以吗?它会影响 websockets 连接吗?

答案1

那么,如何在 https 下允许 websockets 连接?

通常,您会允许 https (TCP 443) 通过防火墙,然后配置 Web 服务器以接受这些连接。现在您知道了这一点,您可以搜索“(Web 服务器) 接受 WebSocket 连接”。

我需要做反向代理吗?我该怎么做?

不,您不需要反向代理。如果您认为需要扩展,您可能希望使用负载平衡器,但开始时不需要它。阅读一些有关反向代理功能的内容可能会帮助您理解。

Apache 和 Nginx 哪个更适合?解释一下为什么

两者都可以。我使用 Nginx,因为它配置更简单,重量更轻。

可以使用 Let's Encrypt 作为 SSL 吗?它会影响 websockets 连接吗?

是的,证书颁发者对于此用例来说并不重要。

相关内容