我试图了解如何保护数据在通过服务器和工作服务器之间的开放网络后被更改
在我的脑海中,我在想它应该遵循以下内容:
|server|---send_job----->|worker|
| |<--send_results--| |
| | | |
| |-send_kill_req-->| |
Run Code Online (Sandbox Code Playgroud)
很明显,我不希望有人改变我send_job做一些邪恶的事情,我不希望有人偷看我的结果.
所以我有一个超级简单的aiohttp客户端/服务器设置,我正在尝试实现,ssl但我完全迷失了.
下面是我尝试过的最基本的东西,但我也试过通过以下方式实现我自己的ssl证书:
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout domain_srv.key -out domain_srv.crt
Run Code Online (Sandbox Code Playgroud)
以及遵循文档,但我仍然无法做出get任何回应.
我如何正确实现ssl_context以使其工作?!
server.py
from aiohttp import web
import msgpack
import ssl
async def handle(request):
name = request.match_info.get('name', "Anonymous")
text = "Hello, " + name
return web.Response(text=text)
app = web.Application()
app.add_routes([web.get('/', handle),
web.get('/{name}', handle)])
ssl_context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)
web.run_app(app, ssl_context=ssl_context)
Run Code Online (Sandbox Code Playgroud)
client.py …