Spec-Zone.ru › Flask

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

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

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

HTTP-серверы должны установить X-Forwarded- заголовки, чтобы передать реальные значения приложению. Затем приложению можно сказать, чтобы оно доверяло и использовало эти значения, обернув его с помощью middleware «Исправление прокси X-Forwarded-For», предоставляемого 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 только в том случае, если вы находитесь за прокси-сервером, и установите правильное количество прокси-серверов, которые устанавливают каждый заголовок. Неправильная настройка может привести к проблемам с безопасностью.

© 2010 Pallets
Licensed under the BSD 3-clause License.
https://flask.palletsprojects.com/en/stable/deploying/proxy_fix/

Spec-Zone.ru

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