Когда HTTP-прокси пересылает трафик на веб-сервер, сервер видит IP-адрес прокси-а не оригинальный клиент IP-адрес. Поскольку сервер, возможно, потребуется IP-адрес для входа или аутентификации целей, многие HTTP-прокси добавить заголовок X-Forwarded-For, указывающее исходный IP-адрес клиента.
WsgiUnproxy является WSGI промежуточного, который сидит между WSGI-сервером и WSGI приложения NBSP &;. Перед приложение видит запрос, WsgiUnproxy удаляет заголовок X-Forwarded-For и восстанавливает клиент IP-адрес, получая запрос, который выглядит, как он никогда не был проксируемого чтобы начать с.
Так кто-нибудь может добавить заголовок X-Forwarded-For, WsgiUnproxy использует только заголовок, если он приходит из надежного IP адреса прокси-сервера.
Пример WSGI приложение
от wsgiunproxy импорта unproxy
unproxy (trusted_proxies = ['1.2.3.4', '5.6.7.8'])
Def приложений (среда, start_response):
& NBSP; start_response ("200 OK", [])
& NBSP; вернуться ['Ваш IP-адрес% s.' % Environ.get ('REMOTE_ADDR')]
Используйте пастой развертывания
WsgiUnproxy может быть использован в трубопроводе пасту развертывания:
[трубопроводов: основной]
Трубопровод =
& NBSP; WsgiUnproxy
& NBSP; MyApp
[фильтр: WsgiUnproxy]
Использование = яйцо: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5.6.7.8
Расширенный Использование
Если вам нужно указать много доверенных прокси (такие как всей подсети), вы не должны использовать дать trusted_proxies в виде списка. Все, что WsgiUnproxy просит является то, что trusted_proxies поддерживает в оператора (например, путем внедрения __contains __)
Требования :.
- Python
Комментарии не найдены