gpt4 book ai didi

ssl - telegram bot webhook 自签名证书问题

转载 作者:行者123 更新时间:2023-12-04 22:37:06 42 4
gpt4 key购买 nike

我有一个静态 IP 地址,我想将其用作 Telegram 机器人网络 Hook .换句话说,我的机器人应用程序在我的本地系统上运行,我将调制解调器配置为将来自该 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 启用了 ssl 支持。相当于 .pem证书,但不工作。有没有办法做到这一点?提前致谢。

最佳答案

您的问题在于您的自签名证书:

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>"
...更具体地说是 -subj 开关。当然,您提供的是 CSR 信息,但如果仔细观察,您在声明 IP 时使用的是 or 运算符。此外,您最后的初始化只是普通的 IP 地址。为了进一步阅读如何创建自签名 SSL 证书,我建议您使用以下资源:
  • How to create a self-signed certificate with OpenSSL
  • OpenSSL Quick Reference Guide
  • 如果您想为您的证书设置一个替代(或多个)DNS 名称,this thread 也非常有用。

  • 对于 一个 DNS 名称 ,您的证书应如下所示:
    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>
    MY_IP 显然是您自己的服务器的 IP 地址(您从中调用 webhook)。
    为了完整起见,我建议您使用反向代理,例如 NGNIX - 它可以让您免于在请求容器中的 SSL 证书方面的许多麻烦。如果你问我,一旦建立起来就更容易维护。虽然这只是一个替代选择。

    关于ssl - telegram bot webhook 自签名证书问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65590846/

    42 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com