如何使用自签名ssl证书运行Aiogram-webhook



我需要在linux机器上安装Telegram机器人,但我遇到了一个问题。

据我所知,函数aiogram.utils.executer.start_webhook启动用于捕获POST请求的服务器。该服务器在后台使用aiohttp。

如何使它与自签名ssl证书一起工作?当使用纯aiohttp时,可以指定ssl上下文。对于aiogram来说,使用nginx这样的网络服务器是唯一的选择吗?

Aiogram文档中曾经有一个这样的例子,开发文档中还有另一个例子。我不知道为什么当前的示例(v2.2.2(没有它(也许它仍然有效,但被隐藏在kwargs中(。

旧示例显示了ssl导入并根据Telegram bot规则设置WEBHOOK_SSL_CERTWEBHOOK_SSL_PRIV位置。

开发分支(v3.0.0(将证书作为函数参数。

看起来当前的过程是在BaseBot:的初始化中设置ssl

# aiohttp main session
ssl_context = ssl.create_default_context(cafile=certifi.where())

这表明当前证书必须在证书存储中,否则您将需要向bot提供一个新的ssl_contextself._connector_init = dict(limit=connections_limit, ssl=ssl_context)

这应该为您的具体案例指明正确的方向。

最新更新