Я собираюсь настроить своего бота Telegram с помощью webhook. Я настроил все в соответствии с инструкциями, которые я нашел из действительных источников.
Однако бот не получает обновлений webhook, и при отправке запроса «getWebhookInfo» в Telegram API я получаю ошибку ниже.
{"ok":true,"result":{"url":"https://161.35.18.8/1058222550:XXXXXXXXXXXXXXXrKEDw7-qx30Ww","has_custom_certificate":true,"pending_update_count":4,"last_error_date":1585773597,"last_error_message":"Connection timed out","max_connections":40}}
Вот конфигурация, которую я выполнил для дроплета на Digitalocean.
To Action From
-- ------ ----
Nginx HTTP ALLOW Anywhere
22/tcp ALLOW Anywhere
OpenSSH ALLOW Anywhere
Nginx HTTP (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
server {
listen 443 ssl;
server_name SERVER_IP_ADDRESS;
ssl_certificate bot.pem;
ssl_certificate_key private.key;
location /TOKEN1 {
proxy_pass http://127.0.0.1:5000/TOKEN1/;
}
location /TOKEN2 {
proxy_pass http://127.0.0.1:5001/TOKEN2/;
}
}
- Протестированные Nginx конфигурации и перезапустите веб-сервер, выполнив
sudo nginx -t && sudo systemctl restart nginx
и получим следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
В моем файле приложения, работающем на сервере, скрипт python выглядит так, чтобы получать обновления от Telegram:
updater.start_webhook(listen='127.0.0.1', port=5000, url_path='TokenID')
updater.bot.set_webhook(webhook_url='https://<DropletIP>/TokenId',
certificate=open('bot.pem', 'rb'))
Я что-то упустил? Есть идеи, что может быть причиной проблемы? Любая помощь очень ценится. Спасибо.