Spec-Zone.ru › Flask 2.2

Сообщите Flask, что оно находится за прокси-сервером

При использовании обратного прокси-сервера или многих платформ хостинга Python прокси будет перехватывать и пересылать все внешние запросы на локальный сервер WSGI.

С точки зрения сервера WSGI и приложения Flask, запросы теперь поступают от HTTP-сервера по локальному адресу, а не от удаленного адреса к внешнему адресу сервера.

Серверы HTTP должны устанавливать X-Forwarded- заголовки, чтобы передавать реальные значения приложению. Приложение может быть уведомлено о доверии и использовании этих значений путём обертывания его с помощью Средства исправления прокси X-Forwarded-For middleware, предоставленного Werkzeug.

Это middleware следует использовать только в том случае, если приложение фактически находится за прокси-сервером, и должно быть настроено с количеством прокси-серверов, соединённых перед ним. Не все прокси устанавливают все заголовки. Поскольку входящие заголовки могут быть подделаны, необходимо указать количество прокси, которые устанавливают каждый заголовок, чтобы middleware знал, чему доверять.

from werkzeug.middleware.proxy_fix import ProxyFix

app.wsgi_app = ProxyFix(
    app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_prefix=1
)

Помните, применяйте это middleware только если вы находитесь за прокси-сервером и установили правильное количество прокси, которые устанавливают каждый заголовок. Неправильная настройка может быть проблемой безопасности.

© 2007–2022 Pallets
Licensed under the BSD 3-clause License.
https://flask.palletsprojects.com/en/2.2.x/deploying/proxy_fix/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API