Было бы неплохо, если запросы Tornado Python на HTTP могли автоматически перенаправляться на HTTPS.Перенаправить HTTP-запросы на HTTPS в Tornado
Есть ли способ сделать это?
- Python 3v
- Торнадо 3.1V
Update
Новое решение, но ... Могу ли я сделать что-то неправильно (
HTTP: // IP_ADDRESS: 4443/
ВНИМАНИЕ: tornado.general: SS L Ошибка 8 ('IP_ADDRESS', 51453): [SSL: Http_Request] запрос HTTP (_ssl.c: 547)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import tornado.ioloop
import tornado.web
import tornado.httpserver
import http.server
class MainHandler(tornado.web.RequestHandler):
def prepare(self):
if self.request.protocol == "http":
self.redirect("https://%s" % self.request.full_url()[len("http://"):], permanent=True)
def get(self):
self.write("Hello, world")
application = tornado.web.Application([
(r'/', MainHandler),
])
http_server = tornado.httpserver.HTTPServer(application,
ssl_options = {
"certfile": os.path.join("/var/pyTest/keys/", "cert.pem"),
"keyfile": os.path.join("/var/pyTest/keys/", "key.pem"),
}
)
if __name__ == '__main__':
http_server.listen(4443)
tornado.ioloop.IOLoop.instance().start()
Я думаю, что должно быть два сервера экземпляры Слушание на двух различных портов для HTTP и https –