【发布时间】:2021-04-11 21:48:42
【问题描述】:
我有一个静态 IP 地址,我想将其用作 Telegram bot webhook。换句话说,我的机器人应用程序在我的本地系统上运行,我将调制解调器配置为将来自该 IP 地址的请求转发到我的本地服务器:端口。此方法适用于在我的本地系统上运行的其他应用程序,但 ssl 有问题。
为了设置webhook,首先我用这种方式生成一个自签名证书:
openssl req -newkey rsa:2048 -sha256 -nodes -keyout PRIVATE.key -x509 -days 365 -out PUBLIC.pem -subj "/C=NG/ST=Lagos/L=Lagos/O=YOUR_NAME_OR_COMPANY_NAME/CN=<MY_IP:PORT> OR <MY_IP>"
这会生成PUBLIC.pem 文件,我将它发送到setWebhook api。结果还可以,但我总是从getWebhookInfo 方法得到以下结果:
{
"ok":true,
"result":{
"url":".../bot/receive",
"has_custom_certificate": true,
"pending_update_count":15,
"last_error_date":1609911454,
"last_error_message":"SSL error {error:14095044:SSL routines:ssl3_read_n:internal error}",
"max_connections":40,
"ip_address":"..."
}
}
同样在我的应用程序中,我启用了具有 .p12 等效于 .pem 证书的 ssl 支持,但无法正常工作。有没有办法做到这一点?提前致谢。
【问题讨论】:
-
CN=<MY_IP:PORT> OR <MY_IP>你真的在两者之间指定了OR吗?我不相信这是有效的。如果您想要多个,则需要将它们添加为备用。见stackoverflow.com/a/23587047/2232127
标签: ssl telegram telegram-bot