电报机器人SSL错误

时间:2018-03-05 08:50:24

标签: https telegram

所以我在我的网站上为我的电报机器人制作了一个小脚本。唯一的问题是,如果我将我的URL设置为机器人的webhook,则会出现SSL错误。

enter image description here

还尝试添加自签名证书,因此has_custom_certificate变为true,但出现了同样的错误。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您必须创建一个自签名证书,才能通过https部署服务器。如果您使用的是烧瓶,则可以按照此不错的教程-https://blog.miguelgrinberg.com/post/running-your-flask-application-over-https

答案 1 :(得分:0)

问题出在您的证书上。

您的getWebHookInfo中的错误:

"last_error_message":"SSL error {337047686, error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed}"

电报是说它需要整个证书链(也称为CA Bundle或全链证书)。

如何检查证书:

您可以使用SSL Labs SSL Server Test服务来检查您的证书:

只需像以下示例一样传递您的网址,将coderade.github.io替换为主机:

https://www.ssllabs.com/ssltest/analyze.html?d=coderade.github.io&hideResults=on&latest

如果看到“链问:未完成” ,则表示您没有提供完整的链式证书。

如何解决:

您需要添加所有三个必需的文件(.key,.crt和.ca-bundle)。 Namecheap很好地记录了如何以许多不同的方式在您的站点中安装ssl证书,例如Apache,Node.js,Nginx等。请检查您是否可以遵循以下可用方法之一:{{3} }

无论如何,您需要为SSL证书提供商下载完整的链式证书,并将其安装在Web服务器上。

我不知道您使用的是哪种服务,但是以Namecheap - How to Install SSL certificates为例,我解决了将SSL证书提供者发送的gunicornca-bundle文件一起添加的问题(对于我来说ca-certs)在我的SSL配置上,例如以下示例:

ca_certs = "cert/my-service.ca-bundle"

有关更多信息:Namecheap Comodo对此@martinithread帖子的回答。