Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes openshift 3.12 websocket错误\u连接\u中止_Kubernetes_Websocket_Openshift_Openshift 3 - Fatal编程技术网

Kubernetes openshift 3.12 websocket错误\u连接\u中止

Kubernetes openshift 3.12 websocket错误\u连接\u中止,kubernetes,websocket,openshift,openshift-3,Kubernetes,Websocket,Openshift,Openshift 3,我想启动websocket连接(ws://whaterver) 在OpenShift中,但不知何故,它们总是以错误连接中止而结束 立即(新WebSocket('ws://whatever') 首先,我认为问题在于我们的应用程序 但我创建了一个最小的示例,得到了相同的结果 首先,我创建了一个pod并启动了这个最小的pythonwebsocket服务器 import asyncio import websockets async def hello(websocket, path): nam

我想启动websocket连接(ws://whaterver) 在OpenShift中,但不知何故,它们总是以错误连接中止而结束 立即(新WebSocket('ws://whatever')

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

首先,我创建了一个pod并启动了这个最小的pythonwebsocket服务器

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()
导入异步IO
导入WebSocket
异步def hello(websocket,路径):
name=wait websocket.recv()
打印(f“<{name}”)
问候语=f“你好{name}!”
等待websocket。发送(问候语)
打印(f“>{问候语}”)
start_server=websockets.service(hello,“0.0.0.0”,8000)
asyncio.get_event_loop()。运行_直到完成(启动服务器)
asyncio.get_event_loop().永远运行_()
然后我创建了一个服务(TCP 8000)并创建了一个路由,我得到了相同的结果

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

你知道有什么问题吗? (根据文件规定,这些连接应按原样工作)
我是否应该尝试使用一些路由环境变量,或者是否存在文档中未提及的任何限制?

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


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


可以使用

你可以用YAML来测试连接吗?你是如何暴露你的服务的?你也提到了文档——你能分享你找到的链接吗?最后我们意识到TLS终端是需要设置的。如果你设法解决它,请考虑把它作为一个答案,这样其他社区成员就可以了。不适用于它。OpenShift 3.12??