Ha egy HTTP proxy továbbítja a forgalmat egy webszerver, a szerver látja a proxy IP-cím helyett az eredeti kliens IP címét. Mivel a szerver szükség lehet az IP-címet a naplózás vagy hitelesítés céljából, sok HTTP proxy hozzá egy X-Forwarded-For fejléc jelzi az eredeti kliens IP címét.
WsgiUnproxy egy WSGI middleware, hogy ül az WSGI szerver és a WSGI alkalmazás. & Nbsp; Mielőtt az alkalmazás látja a kérést, WsgiUnproxy eltávolítja a X-Forwarded-For fejléc és felhatalmazza a kliens IP-címét, így a kérés, hogy úgy néz ki, mintha soha nem proxyzott kezdeni.
Mivel bárki felvehet egy X-Forwarded-For fejléc, WsgiUnproxy csak akkor használja a fejlécben, ha jön egy megbízható proxy IP-címek.
Példa WSGI alkalmazás
re wsgiunproxy import unproxy
unproxy (trusted_proxies = ['1.2.3.4 "," 5,6,7,8 "])
def alkalmazás (környezeti, start_response):
& Nbsp; start_response ('200 OK', [])
& Nbsp; return ['Az IP-cím:% s. " % Environ.get ("REMOTE_ADDR")]
Használja a Paste Deployment
WsgiUnproxy lehet használni egy Paste telepítési csővezeték:
[Gázvezeték: fő]
gázvezeték =
& Nbsp; WsgiUnproxy
& Nbsp; MyApp
[Filter: WsgiUnproxy]
használat = tojás: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5,6,7,8
Advanced használata strong>
Ha meg kell adnia egy csomó megbízható proxy (például egy teljes alhálózat), akkor nem kell használni, hogy trusted_proxies listaként. Minden, ami WsgiUnproxy kéri, hogy trusted_proxies támogatja az itt szereplő (pl végrehajtási __contains __).
követelmények :
- Python
Hozzászólás nem található