Spec-Zone.ru › Werkzeug 3.0

Сообщите Werkzeug, что оно находится за прокси

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

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

Серверы HTTP должны устанавливать X-Forwarded- заголовки, чтобы передать реальные значения приложению. Приложение можно настроить на доверие и использование этих значений, обернув его с помощью middleware X-Forwarded-For Proxy Fix, предоставляемого 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 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/3.0.x/deployment/proxy_fix/

Spec-Zone.ru

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