如何解决如何为安全的 PYTHON websocket 服务器设置 PEM 文件?
我在 PYTHON 中创建了一个 websocket 服务器
import asyncio
import pathlib
import ssl
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}")
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
localhost_pem = pathlib.Path(__file__).with_name("localhost.pem")
ssl_context.load_cert_chain(localhost_pem)
start_server = websockets.serve(
hello,"localhost",8765,ssl=ssl_context
)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
这是客户
import asyncio
import pathlib
import ssl
import websockets
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
localhost_pem = pathlib.Path(__file__).with_name("localhost.pem")
ssl_context.load_verify_locations(localhost_pem)
async def hello():
uri = "wss://psXXXXXX.dreamhostps.com:8765"
async with websockets.connect(
uri,ssl=ssl_context
) as websocket:
name = input("What's your name? ")
await websocket.send(name)
print(f"> {name}")
greeting = await websocket.recv()
print(f"< {greeting}")
asyncio.get_event_loop().run_until_complete(hello())
我通过运行服务器 python 文件在我的主机提供商中启动 python 服务器,完全没有问题 但是当我尝试运行我的 python 客户端时,SERVER 拒绝连接。一切似乎都是正确的,但我不太确定如何在 Dreamhost 中为我的 VPS 服务器设置这个 localhost.pem。
任何关于如何做到这一点的指导方针将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。