AWS App Runner 是否正确支持 WebSocket 连接?

exp*_*lic 8 amazon-web-services websocket amazon-app-runner

我的 AWS App Runner 应用程序运行正常,

\n
12-19-2021 05:28:15 PM [AppRunner] Service status is set to RUNNING.\n12-19-2021 05:28:15 PM [AppRunner] Service creation completed successfully.\n12-19-2021 05:28:14 PM [AppRunner] Successfully routed incoming traffic to application.\n12-19-2021 05:27:48 PM [AppRunner] Health check is successful. Routing traffic to application.\n12-19-2021 05:26:39 PM [AppRunner] Performing health check on path '/ping' and port '8081'.\n12-19-2021 05:26:29 PM [AppRunner] Provisioning instances and deploying image.\n12-19-2021 05:26:18 PM [AppRunner] Successfully pulled image from ECR.\n12-19-2021 05:24:17 PM [AppRunner] Service status is set to OPERATION_IN_PROGRESS.\n12-19-2021 05:24:16 PM [AppRunner] Service creation started.\n
Run Code Online (Sandbox Code Playgroud)\n

它是一个express/ws应用程序,并且在本地Docker中运行得很好。我能够到达myapplication.com/当 WebSocket 端点在本地运行时,但是,当应用程序在 AWS App Runner 上运行时,我似乎无法访问 WebSocket 域。该应用程序在内部运行在端口 8081,但当然 App Runner 会将其移植到外部的端口 80/443。

\n

我可以确认该应用程序至少部分在 App Runner 中运行,因为我可以访问myapplication.com/ping

\n

ws://myapplication.com/我已尝试在控制台中手动使用 JavaScript 通过、wss://myapplication.com/wss://myapplication.com:8081/、的每种组合连接到 WebSocket 端点ws://myapplication.com:8081/但没有任何效果。

\n

我的问题是 - App Runner 是否支持 WebSockets?我在 App Runner 的文档中读到了这一点:

\n
\n

无状态应用程序 \xe2\x80\x93 App Runner 不保证在处理单个传入 Web 请求的持续时间之外的状态持久性。

\n
\n

当然,这意味着在 AWS App Runner 上运行长期 WebSocket 客户端并不是一个好主意,但这是否也意味着 WebSocket 是不可能的

\n

小智 13

不幸的是,AWS App Runner不支持WebSocket以及粘性会话