我已经验证了ssl证书(在购买托管时获得)。它由四部分组成:1。私钥,2。证书,3。根证书,4。中间证书。我制作了两个文件.key(私有),。crt(证书,中间,root)和confugure nginx。一切都很好,我的域名显示https,而https://www.sslshopper.com说它有效。但是当我设置电报僵尸网络时
def start_request():
url = 'https://api.telegram.org/bot{token}/{method}'.format(
token = 'myToken',
method = 'setWebhook'
)
data = {
'url' : 'MyDomain',
'certificate' : open('myCertificate', 'r')
}
r = requests.post(url, data = data)
webhook状态总是如此
结果 url“myDomain”has_custom_certificate false pending_update_count 5 last_error_date 1515041749 last_error_message“来自webhook的错误回复:403 Forbidden”
和nginx日志说149.154.167.214 - - [04 / Jan / 2018:07:07:00 +0300]“POST myDomain”403 997“ - ”“ - ”
证书有问题吗?证书或证书的一部分以及我应该以什么格式发送电报?
在我的情况下,我采取根证书(只有root)并将其转换为.der和.pem,
openssl x509 -in root.crt -outform der -out root.der
openssl x509 -in root.der -inform der -outform pem -out root.pem
之后,我使用root.pem证书设置了带有“Awesome Telegram Bot”android应用程序的webhook。我使用getWebhookInfo方法
url "https://myDomain"
has_custom_certificate true