2014-10-18 3 views
2

Ngninx와 역방향 프록시 인 업스트림 HTTP 서버에서 오는 응답 본문 부분을 대체하고 싶습니다. 이 프록시의 압축 된 응답의 텍스트 바꾸기

sub_filter 지시어와 HttpSubsModule

, 그러나 여기에서이 모듈은 그냥 일반 텍스트와 함께 작동 문제

입니다. 응답이 압축되면 응답을 압축 해제 할 수 없으며이 응답을 무시합니다. 이 모듈은 gzip 필터 모듈과 호환 될 수 있습니다. 그러나 그것은 프록시 압축 응답과 함께 작동하지 않습니다. 이 같은 압축 된 응답을 중지 할 수 있습니다

proxy_set_header Accept-Encoding "";

흠을.

업스트림 압축을 풀지 않고 프록시 된 콘텐츠를 수정할 수있는 대안이 있습니까?

+0

Nginx – Dayo

+0

@Dayo에서 업스트림 압축을 비활성화하고 압축하는 표준 구성입니다. 내 질문은 업스트림 압축을 해제하지 않을 수 있는지, 즉 압축을 풀고, 바꾸고, 압축 할 수 있는지 여부입니다. –

+0

Nginx와 업스트림 사이에 다른 웹 서버/프록시/스크립트를 포함시켜이 작업을 수행 할 수 있습니다. perl을 안다면 ngx_perl 모듈을 사용하여 데이터를 가로 채고, 압축을 풀고, 대체하고 압축 할 수 있어야합니다. ngx_lua 모듈도이 문제를 처리 할 수 ​​있어야합니다. 나는 당신이 off-the-shelf 해결책을 찾아 낼 것이라는 점을 믿지 않는다. – Dayo

답변

1

우리의 경우에도 비슷한 문제가 있었으며 ngnix의 "gunzip"모듈을 사용하여 압축 된 응답의 압축을 풀고 요구 사항에 따라 응답을 업데이트 할 수있었습니다.