Quando um proxy HTTP encaminha o tráfego para um servidor web, o servidor vê o endereço IP do proxy em vez do endereço IP do cliente original. Uma vez que o servidor pode precisar do endereço IP para fins de registro ou de autenticação, muitos proxies HTTP adicionar um cabeçalho transmitido-Para-X, indicando o endereço IP do cliente original.
WsgiUnproxy é um middleware WSGI que fica entre o servidor WSGI e sua aplicação WSGI. & Nbsp; Antes que seu aplicativo vê um pedido, WsgiUnproxy remove o cabeçalho transmitido-Para-X e repõe o endereço IP do cliente, dando origem a um pedido que parece que nunca foi com proxy para começar.
Desde qualquer um pode adicionar um cabeçalho transmitido-Para-X, WsgiUnproxy só usa o cabeçalho se se trata de um Trusted endereços IP de proxy.
Exemplo de aplicação WSGI
de wsgiunproxy unproxy importação
unproxy (trusted_proxies = ['1.2.3.4', '5.6.7.8'])
aplicação def (environ, start_response):
& Nbsp; start_response ('200 OK', [])
& Nbsp; retornar ['O seu endereço de IP é% s.' Environ.get% ('REMOTE_ADDR')]
Use com Deployment Colar
WsgiUnproxy pode ser utilizado numa tubagem de implantação cole:
[Gasoduto: main]
gasoduto =
& Nbsp; WsgiUnproxy
& Nbsp; MyApp
[Filtro: WsgiUnproxy]
uso = ovo: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5.6.7.8
Uso avançado
Se você precisa especificar um monte de proxies confiáveis (tais como uma sub-rede inteira), você não tem que usar dar trusted_proxies como uma lista. Tudo o que WsgiUnproxy pede é que trusted_proxies suporta o operador in (por exemplo, através da implementação de __contains __)
Requisitos :.
- Python
Comentários não encontrado