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

cl25kdpy  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(147)

我需要在linux机器上安装一个Telegram bot,但我遇到了一个问题。
据我所知,函数aiogram.utils.executor.start_webhook启动了一个服务器来捕获POST请求,并且这个服务器在幕后使用了aiohttp。
我如何才能使它与自签名的SSL证书工作?当使用纯aiohttp它是可能的指定SSL上下文.这是可能的aiogram或使用像nginx的网络服务器是唯一的选择?

zqry0prt

zqry0prt1#

在Aiogram文档中曾经有一个这样的例子,在开发文档中也有另一个例子。我不知道为什么当前的例子(v2.2.2)没有它(也许它仍然工作,但被埋葬在kwargs中)。
old example显示了ssl导入,并根据Telegram bot rules设置了WEBHOOK_SSL_CERTWEBHOOK_SSL_PRIV位置。
开发分支(v3.0.0)具有function parameter形式的证书。
看起来当前的进程是在initialisation of the BaseBot

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

这表明当前证书必须在证书存储区中,否则您需要向bot提供一个新的ssl_contextself._connector_init = dict(limit=connections_limit, ssl=ssl_context)
这应该会为您的具体情况指明正确的方向。

相关问题