백엔드가 이미 "content-encoding"헤더를 설정 한 경우 ggin을 중지시키기 위해 nginx를 속이는 영리한 방법이 있습니까?fastcgi 백엔드가 때때로 gzip으로 콘텐츠 인코딩을 제공 할 때 Nginx 이중 gzip 인코딩을 비활성화하는 방법은 무엇입니까?
Nginx는 PHP fastcgi 백엔드의 출력을 gzip으로 구성합니다.
이것은 99 %의 경우에 효과적입니다.
드물게 PHP는 원시 gzipped 파일을 보내고 Content-Encoding: gzip
헤더를 첨부합니다.
Nginx는 불행히도 그 내용을 다시 gzip하려고합니다.
두 번 content-encoding: gzip
content-encoding: gzip
헤더와 이중 인코딩 된 gzipped 본문을 생성합니다.
대부분의 최신 브라우저에서 Firefox, Chrome을 처리 할 수 있습니다.
IE8은 Windows 용 Safari 5에서는 불가능합니다. 대신 콘텐츠 인코딩 헤더를 병합하고 gzipped 본문 만 디코딩하기 때문에 깨진 gzipped 콘텐츠가 표시됩니다.
어떤 아이디어 주셔서 감사합니다.
fastcgi_param HTTP_ACCEPT_ENCODING "";
이 백엔드에서 인코딩을 사용할 수 없게됩니다 :
해결 했습니까? 나는 같은 문제가있다. 감사! – davidbitton
이 문제도 발생했습니다. 내 응용 프로그램 코드에 Vary 헤더를 추가하여이를 해결했습니다.'header ('Vary : Accept-Encoding'); –