我用ssl_options创建简单的龙卷风http服务器并为Telegram bot设置web hook,但是服务器没有得到“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()
答案 0 :(得分:2)
发出自签名SSL证书时,请确保“通用名称”与您的FQDN(hostname -f
)匹配。
示例:
$ openssl req -new -x509 -nodes -newkey rsa:1024 -keyout server.key -out server.crt -days 3650
如果您使用的是python-telegram-bt
,则可以测试SSL握手运行this脚本并尝试使用wget进行连接:
$ wget -O /dev/null https://$HOST:$PORT/