Настойка SERVER_NAME устанавливает лучшие правила - PullRequest
0 голосов
/ 24 апреля 2018

Колба имеет настройку SERVER_NAME, которая удобна в большинстве случаев. Поскольку у моего приложения есть фоновая задача, я использую контекст Flask. Чтобы контекст работал, необходимо установить SERVER_NAME.

Если установлено значение SERVER_NAME, входящие запросы проверяются на соответствие этому значению или маршрут не найден. При размещении nginx (или другого веб-сервера впереди, SERVER_NAME также должен включать в себя порт, а обратный прокси-сервер должен обрабатывать материал для перезаписи, скрывая номер порта от внешнего мира (что он и делает). в современных браузерах имя URL-адреса прокси-сервера должно совпадать с SERVER_NAME, в противном случае браузер отказывается отправлять куки-файлы. Эту проблему можно решить, добавив официальный hostname в /etc/hosts и указав его 127.0.0.1.

Есть одна вещь, которую я еще не понял, и это URL в фоновых задачах. url_for используется с параметром _external для генерации URL-адресов в отправляемой им почте. Но этот URL включает порт, который, конечно, отличается от порта 443, на котором работает мой nginx ...

Удаление порта из SERVER_NAME приводит к сбою в работе, описанной в первом абзаце.

Так, каковы мои лучшие варианты для обработки url_for в почте. Создать отдельный параметр конфигурации? Создать свой собственный url_for?

1 Ответ

0 голосов
/ 06 февраля 2019

Вы должны поставить url_for (location, _external = True) Или включите include proxy_params, если вы используете nginx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...