openshift 3.12 网络套接字 ERR_CONNECTION_ABORTED
openshift 3.12 websocket ERR_CONNECTION_ABORTED
我想开始 websocket 连接 (ws://whaterver)
在 OpenShift 中,但它们总是以 ERR_CONNECTION_ABORTED 结尾
立即 (new 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 连接它不能。
您知道问题出在哪里吗?
(根据文档,这些连接应该按原样工作)
我应该尝试使用一些路由环境变量还是有文档中未提及的任何限制?
将 Károly Frendrich 答案发布为社区 wiki:
Finally we realized that the TLS termination is required to be set.
可以使用Secured Routes
来完成
我想开始 websocket 连接 (ws://whaterver) 在 OpenShift 中,但它们总是以 ERR_CONNECTION_ABORTED 结尾 立即 (new 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 连接它不能。
您知道问题出在哪里吗? (根据文档,这些连接应该按原样工作) 我应该尝试使用一些路由环境变量还是有文档中未提及的任何限制?
将 Károly Frendrich 答案发布为社区 wiki:
Finally we realized that the TLS termination is required to be set.
可以使用Secured Routes
来完成