Относительное перенаправление в торнадо Python - PullRequest
0 голосов
/ 31 октября 2019

У меня есть веб-приложение торнадо, которое перенаправляет пользователей обратно на главную страницу ("/" приложения). Затем веб-приложение tornado развертывается с использованием nginx в качестве приложения (например, www.helloworld.com/app), перенаправление больше не работает. Таблица ниже должна описывать ситуацию.

+-----------------------------+---------------------------------+
| Root URL of tornado app     | www.helloworld.com/app          |
| Redirect URL                | www.helloworld.com/app/redirect |
| Expected URL after redirect | www.helloworld.com/app          |
| Actual URL after redirect   | www.helloworld.com              |
+-----------------------------+---------------------------------+

Вот мой RedirectHandler

class RedirectHandler(tornado.web.RequestHandler):
    def get(self):
        self.redirect(self.reverse_url("index"))

А вот мое приложение

handlers = [
            tornado.web.url(r'/', IndexPageHandler, name='index'),
            tornado.web.url(r'/redirect', RedirectHandler, name='redirect'),
        ]

1 Ответ

1 голос
/ 01 ноября 2019

Tornado не предназначен для использования с прокси, которые удаляют префикс URL. Настройте серверы Tornado с полными URL-адресами (tornado.web.url(r'/app', IndexPageHandler, name='index')) и удалите путь из директивы nginx proxy_pass.

...