我通过 kops 在 AWS 上安装了一个集群。现在我需要向外界公开一个 WebSocket 服务(启用安全性,wss://)。有不同的入口控制器,nginx、traefik、ELB、ALB。建议使用哪一个,并且:
- 易于部署和配置
- 支持 http://、https://、ws:// 和 wss://
我通过 kops 在 AWS 上安装了一个集群。现在我需要向外界公开一个 WebSocket 服务(启用安全性,wss://)。有不同的入口控制器,nginx、traefik、ELB、ALB。建议使用哪一个,并且:
在我看来,这个问题是基于意见的,而且过于宽泛。请尽量避免这样的问题,因为没有一种最好的解决方案。
我能够找到大量关于 nginx 和 websockets 的资源。我没有配置此功能的生产经验,但我认为您可能会发现这很有帮助。
NGINX 是具有多种功能的入口控制器的流行选择:
Websocket,它允许您对 Websocket 应用程序进行负载平衡。
SSL 服务,它允许您对 HTTPS 应用程序进行负载平衡。
重写,它允许您在将请求发送到应用程序之前重写请求的 URI。
会话持久性(仅限 NGINX Plus),它保证来自同一个客户端的所有请求始终传递到同一个后端容器。
支持 JWT(仅限 NGINX Plus),它允许 NGINX Plus 通过验证 JSON Web 令牌 (JWT) 来验证请求。
nginx 最重要的部分是注解——它指定哪些服务是 Websocket 服务。有关使用和配置的更多信息。还有关于配置 nginx 入口的有用教程,虽然它是关于 GKE 的,但它可能很有用。