nginx로 사전 압축 된 파일을 제공하여 브라우저에서 텍스트로 표시되도록하려면 어떻게합니까?


17

nginx와 함께 제공하려는 gzipped 로그 파일이 많이 있습니다. 나는 그들이 브라우저에 의해 자동으로 팽창되는 방식으로 제공되기를 원합니다. 텍스트 / 일반 헤더가있는 파일을 .gz로 보내려면 nginx가 필요하다는 것을 의미합니다. 이것은 아파치에서 다음과 같이 할 수 있습니다 :

<FilesMatch *.gz>
    ForceType text/plain
</FilesMatch>

답변:


24

이를 위해서는 HttpGzipStatic모듈이 필요합니다 . 넣어 gzip_static on;사용자의 설정에와 작성 .gz파일을. 압축 파일과 원본 파일을 모두 유지해야하며, 예를 들어 /css.css압축 을 요청한 다음 제공 할 수 있습니다/css.css.gz


하나의 사소한 참고 사항 : 두 파일의 수정 시간 (mtime)이 동일한 것이 좋습니다.
Alexander Azarov

2
그리고 당신은 그것이 작동하고 curl --header "Accept-Encoding: gzip" -I your_url있는지 테스트 할 수 있으며 , --header 없이도 필요한 경우 여전히 압축되지 않은 파일을 제공하는지 확인하십시오.
Tom

분명히이 방법은 index.html.gz와 같은 색인에서는 작동하지 않습니다. "index index.html.gz"를 사용하여 색인 목록에 추가하면 "$ url /에 액세스하려고 할 때 다운로드로 제공됩니다 ". 나는 여전히 gzipped 인덱스를 탐색 할 수있는 솔루션을 찾고 있습니다.
sorin

try_files mailman.nginx.org/pipermail/nginx/2012-June/034102.html 을 사용하지 않으면 원본 파일이 필요하지 않습니다 . 나는 함께 노력 gunzip on하고 try_files serverfault.com/questions/571733/...
rofrol
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.