【发布时间】:2016-02-29 03:47:24
【问题描述】:
我正在开发一个 Ruby 语言服务器来通过 setwebhooks 管理多个 Telegram 机器人
顺便说一句,我将在BOTServer 以开源形式提供服务器
问题
我无法从 Telegram Bot API Server 接收 webhook 更新。我已经设置了一个 webhook 令牌(电报回复“成功”),但我没有收到任何关于成功配置的 webhook 的更新。
我认为问题可能与self-signed Certificate 的谜团有关。查看旧的reddit question 和答案。
我有类似的问题,我公平地说,是在发送 HTTPS webhook 更新的 Telegram Bot API 服务器和接收 webhook 的机器人服务器之间存在一些“误解”(我使用 nginx 作为代理/https SSL 证书处理程序)。
似乎有人解决了使用证书“链”配置 nginx 的问题;我对证书技巧很无知,所以我问:
问题
可能有人可以发布信息,以配置 nginx(任何 ssl Web 服务器!)为傻瓜提供详细设置/分步说明,展示如何从此处描述的 .key 和 .pem 文件传递:https://core.telegram.org/bots/self-signed 到 设置证书“链”在 nginx 配置中配置,被 Telegram Bot API 服务器“接受”?
顺便说一句,我现在的 nginx 配置:
upstream backend {
server 127.0.0.1:3000;
}
#
# HTTPS server
#
server {
listen 8443 ssl;
server_name myhost.com;
ssl on;
ssl_certificate /mypath/ssl/PUBLIC.pem;
ssl_certificate_key /mypath/ssl/PRIVATE.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location @backend {
proxy_pass http://backend;
}
location / {
try_files $uri @backend;
}
}
其中 PRIVATE.key + PUBLIC.pem 文件是生成以下指南的文件:Using self-signed certificates:
openssl req -newkey rsa:2048 -sha256 -nodes -keyout PRIVATE.key -x509 -days 365 -out PUBLIC.pem -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=YOURDOMAIN.EXAMPLE"
谢谢
乔治
【问题讨论】:
标签: ssl nginx https ssl-certificate telegram-bot