Когато 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 ОК", [])
& Nbsp; върне ['Вашият IP адрес е% S ". % Environ.get ("REMOTE_ADDR")]
<Силен> Използвайте с Paste Deployment
WsgiUnproxy може да се използва в Paste Deployment тръбопровод:
[Тръбопровод: Основната]
тръбопровод =
& Nbsp; WsgiUnproxy
& Nbsp; MyApp
[Филтър: WsgiUnproxy]
използване = яйце: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5.6.7.8
<Силен> Advanced ползване
Ако трябва да посочите много доверени проксита (като цяло подмрежа), че не е нужно да използвате даде trusted_proxies като списък. Всичко, което WsgiUnproxy пита е, че trusted_proxies подкрепя в оператор (например чрез прилагане __contains __)
<силни> Изисквания :.
- Python
Коментари не е намерена