Spec-Zone.ru › Flask 2.3

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

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

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

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

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

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
)

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

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

Spec-Zone.ru

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