1

我使用 ssl_options 创建了简单的龙卷风 http 服务器,并为 Telegram 机器人设置了网络挂钩,但服务器没有收到“发布”请求。可能是什么问题?

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()
4

1 回答 1

2

颁发自签名 SSL 证书时,请确保“通用名称”与您的 FQDN ( hostname -f) 匹配。

例子:

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

如果您正在使用python-telegram-bt,您可以测试运行脚本并尝试使用 wget 连接的 SSL 握手:

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

于 2016-05-29T03:56:59.007 回答