YardalGedal
@YardalGedal
yeah boy

Почему Tornado игнорирует ВСЕ POST-запросы?

Сервер на Ubuntu Server 18.04, никаких специфический настроек ifconfig и тд нет (дефолтные).

GENERAL_ROUTE = ((r"/(.*)", tornado.web.StaticFileHandler, {"path": settings.DIR_WWW_FILES,
                                                            "default_filename": "index.html"}),
                 (r"/vk/(.*?):(.*?)", handlers.VkCB),
                 (r"/tg/(.*?)", handlers.Tg),
                 (r"/donate/notification", handlers.Fk),)

HTTP_PORT = 20080
HTTP_ROUTE = ((r"/(.*?)", handlers.HttpMain),
              *GENERAL_ROUTE)

HTTPS_PORT = 20443
HTTPS_ROUTE = (*GENERAL_ROUTE,)

SSL = {"certfile": path.join(settings.DIR_SSL, "certificate.crt"),
       "keyfile": path.join(settings.DIR_SSL, "private.key"),
       "ca_certs": path.join(settings.DIR_SSL, "ca_bundle.crt")}


class Main(ModulesBase):
    def __init__(self):
        http = tornado.httpserver.HTTPServer(
            tornado.web.Application(HTTP_ROUTE)
        )
        https = tornado.httpserver.HTTPServer(
            tornado.web.Application(HTTPS_ROUTE),
            ssl_options=SSL
        )

        http.add_sockets(tornado.netutil.bind_sockets(HTTP_PORT))
        https.add_sockets(tornado.netutil.bind_sockets(HTTPS_PORT))

        tornado.process.fork_processes(0)

        tornado.ioloop.IOLoop.instance().start()

На все POST ошибка 405. Если убрать из GENERAL_ROUTE первую строку - всё равно на все POST ошибка 405. Во всех хендлерах есть метод post.
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 1
tormich
@tormich
программист и гик.
хммм. а если убрать перый урл из GENERAL_ROUTE то 405 приходит и на http и на https?

з.ы.
я всё же думаю что r"/(.*)" лучше ставить последним в списке.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы