【发布时间】: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