Telegram Bot api и Webhook с SSL

Я создал простой http-сервер торнадо с помощью ssl_options и установил веб-хук для бота Telegram, но сервер не получил запрос "post". Какая проблема может быть?

import tornado.httpserver
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def post(self):
        print('Post request')

    def get(self):
        print('Get request')
        self.write('<h1>Hello, World</h1>')

application = tornado.web.Application([
    (r'/', MainHandler)
])

if __name__ == '__main__':
    http_server = tornado.httpserver.HTTPServer(application, ssl_options={
        'certfile': 'server.crt',
        'keyfile': 'server.key'
    })
    http_server.listen(443)
    tornado.ioloop.IOLoop.current().start()

1 ответ

При выдаче самозаверяющего SSL-сертификата убедитесь, что "Common Name" соответствует вашему FQDN (hostname -f).

Пример:

$ openssl req -new -x509 -nodes -newkey rsa:1024 -keyout server.key -out server.crt -days 3650

Если вы используете python-telegram-bt вы можете проверить SSL рукопожатие, запустив этот скрипт и пытаясь соединиться с помощью wget:

$ wget -O /dev/null https://$HOST:$PORT/

Другие вопросы по тегам