Pokud HTTP proxy předává provoz na webový server, server vidí proxy IP adresu, spíše než původní adresu IP klienta. Vzhledem k tomu, server může potřebovat IP adresu pro účely protokolování nebo ověřování, mnoho HTTP proxy přidejte X-Forwarded-Pro hlavičku indikující původní adresu IP klienta.
WsgiUnproxy je WSGI middleware, který sedí mezi WSGI serverem a vaší WSGI aplikace & nbsp;. Předtím, než vaše aplikace vidí požadavek, WsgiUnproxy odstraní hlavičku X-Forwarded-Pro a obnovuje klientské IP adresy, čímž se získá požadavek, který vypadá, jako by to bylo nikdy zastupována začít.
Vzhledem k tomu, každý může přidat X-Forwarded-Pro hlavičku, pouze WsgiUnproxy používá hlavičku, pokud pochází z důvěryhodného serveru proxy IP adres.
Příklad WSGI aplikace
od wsgiunproxy import unproxy
unproxy (trusted_proxies = ['1.2.3.4', '5.6.7.8'])
def aplikace (Environ, start_response):
& Nbsp; start_response ("200 OK", [])
& Nbsp; návrat ['Vaše IP adresa je% s. " % Environ.get ('REMOTE_ADDR')]
Použít se Vložit Nasazení
WsgiUnproxy mohou být použity v potrubí pastu nasazení:
[Potrubí: hlavní]
potrubí =
& Nbsp; WsgiUnproxy
& Nbsp; MyApp
[Filter: WsgiUnproxy]
Použití = vejce: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5.6.7.8
Rozšířené používání
Pokud potřebujete specifikovat hodně důvěryhodných proxy (například celé podsíti), nemusíte používat dát trusted_proxies jako seznam. Vše, co WsgiUnproxy žádá, je, že trusted_proxies podporuje v operátor (např prováděcí __contains __)
Požadavky na :.
- Python
Komentáře nebyl nalezen