웹 서버에 HTTP 트래픽 전달 프록시, 프록시 서버 IP 주소가 아닌 원본 클라이언트 IP 주소를 볼 때. 로깅 서버 또는 인증 목적 IP 주소를 필요로 할 수 있기 때문에, 많은 HTTP 프록시는 원래 클라이언트 IP 어드레스를 나타내는 X-전달 된 헤더를 추가한다.
WsgiUnproxy은 WSGI 서버와 WSGI 응용 프로그램 사이에 위치 WSGI 미들웨어입니다합니다. & nbsp; 응용 프로그램이 요청을보기 전에, WsgiUnproxy 그것이 결코처럼 보이는 요청을 산출, X - 전달 - 헤더를 제거하고 클라이언트의 IP 주소를 원상 회복 로 시작하는 프록시.
사람이 X - 전달 - 헤더를 추가 할 수 있기 때문에이 신뢰할 수있는 프록시 IP 주소에서 오는 경우, WsgiUnproxy는 헤더를 사용합니다.
예 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를 구현하여 예를 들면)를 지원한다는 것입니다
요구 사항 : 있습니다.
파이썬
댓글을 찾을 수 없습니다