【问题标题】:openshift 3.12 websocket ERR_CONNECTION_ABORTEDopenshift 3.12 websocket ERR_CONNECTION_ABORTED
【发布时间】:2020-07-31 06:44:21
【问题描述】:

我想启动 websocket 连接 (ws://whaterver) 在 OpenShift 中,但不知何故,它们总是以 ERR_CONNECTION_ABORTED 结尾 立即(新的 WebSocket('ws://whatever')。

首先我认为问题出在我们的应用程序中 但我创建了一个最小的示例,得到了相同的结果。

首先我创建了一个 pod 并启动了这个最小的 Python websocket 服务器。

import asyncio
import websockets
async def hello(websocket, path):
    name = await websocket.recv()
    print(f"< {name}")
    greeting = f"Hello {name}!"
    await websocket.send(greeting)
    print(f"> {greeting}")

start_server = websockets.serve(hello, "0.0.0.0", 8000)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

然后我创建了一个服务(TCP 8000)并创建了一个路由,我得到了相同的结果。

我也尝试使用不同的端口或不同的目标(例如:/ws),但没有成功。 这个最小的脚本能够响应一个简单的 http 请求,但是对于 websocket 连接它不能。

您知道可能是什么问题吗? (根据文档,这些连接应该按原样工作) 我应该尝试使用一些路由环境变量还是文档中没有提到任何限制?

【问题讨论】:

  • 你能发布你用来测试连接的yamls吗?你是如何公开你的服务的?你还提到了文档——你能分享你找到的链接吗?
  • 终于意识到需要设置TLS终止。
  • 如果您设法解决了问题,请考虑将其发布为答案,以便其他社区成员从中受益。
  • OpenShift 3.12??

标签: kubernetes websocket openshift openshift-3


【解决方案1】:

将 Károly Frendrich 的答案发布为社区 wiki:

最后我们意识到需要设置 TLS 终止。

可以使用Secured Routes来完成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多