Выпуск самоподписанного сертификата Telegram Bot API Webhooks
Я работаю на сервере языка Ruby для управления несколькими Telegram Bots черезsetwebhooks
Кстати, я поставлю сервер как OpenSource наBOTServer
ПРОБЛЕМА
У меня проблемы с получением обновлений webhook от Telegram Bot API Server. Я установил токен webhook (Telegram reply «success»), но я не получаю никаких обновлений об успешно настроенном webhook.
Я думаю, что проблема может быть вокругсамоподписанный сертификат тайны. См старыйReddit вопрос и ответы.
У меня похожая проблема, и я справедлив, что дело в некотором «недоразумении» между API-сервером Telegram Bot, который отправляет обновления веб-хоков HTTP, и сервером-ботом, получающим веб-хуки (я использую nginx в качестве обработчика SSL-сертификата для прокси / https).
Похоже, что кто-то решил проблему с настройкой nginx с помощью «цепочки» сертификатов; Я довольно разбираюсь в уловках сертификатов и поэтому спрашиваю:
ВОПРОС
Может кто-то может опубликовать информацию, чтобы настроить nginx (любой ssl веб-сервер!) С подробными настройками / пошаговыми инструкциями для чайников, показывающими, как переходить из файлов .key и .pem, описанных здесь:https://core.telegram.org/bots/self-signed внастроить сертификат "цепочка" настроить в конфиге nginx, чтобы быть «принятым» Telegram Bot API Server?
Кстати, мой конфиг 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 генерируют следующие рекомендации:Использование самоподписанных сертификатов:
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"
Спасибо
Джорджио