- Nginx http gunzip 모듈 : Module ngx_http_gunzip_module (nginx.org)
- ngx_http_gunzip_module 모듈은 "gzip" 인코딩 방식을 지원하지 않는 클라이언트에 대해 "Content-Encoding: gzip"으로 응답의 압축을 해제하는 필터
- ngx_http_gunzip_module 모듈은 공간을 절약하고 I/O 비용을 줄이기 위해 데이터를 압축하여 저장하는 것이 바람직할 때 유용
- ngx_http_gunzip_module 모듈은 기본적으로 빌드되지 않으며, --with-http_gunzip_module 구성 매개변수를 사용하여 활성화
- 구성 예시
location /storage/ { gunzip on; ... }
gunzip 지시자
- gzip을 지원하지 않는 클라이언트에 대해 gzip 응답의 압축 해제를 사용하거나 사용하지 않도록 설정
- gunzip 지시자를 사용하면 클라이언트가 gzip을 지원하는지 여부를 결정할 때 다음 지시문도 고려
- gzip_http_version → Module ngx_http_gzip_module (nginx.org)
- gzip_proxied → Module ngx_http_gzip_module (nginx.org)
- gzip_disable → Module ngx_http_gzip_module (nginx.org)
- gzip_vary → Module ngx_http_gzip_module (nginx.org)
- 문맥 : http, server, location
- 사용 문법
# 문법 gunzip on | off;
- 사용 예시
# 기본 설정 gunzip off;
gunzip_buffers 지시자
- 응답의 압축을 푸는 데 사용되는 버퍼의 수와 크기를 설정
- 기본적으로 버퍼 크기는 1개의 메모리 페이지(one memory page)와 같음
- 플랫폼에 따라 4K 또는 8K
- 문맥 : http, server, location
- 사용 문법
# 문법 gunzip_buffers number size;
- 사용 예시
# 기본 설정 gunzip_buffers 32 4k|16 8k;
gunzip 사용 목적
- 목적
- 오리진 → nginx는 gzip 통신
- nginx → 사용자는 Accept-Encoding에 gzip(deflate)이 없으면 gunzip해서 보내기
- 사용자의 gzip content 종류 파악 (location 조정 필요)
location / { gunzip on; # 압축해제 기능 (기본 포함 되어 있음(현재 docker에)) gunzip_buffers 16 64k; # 튜닝 필요 proxy_set_header Accept-Encoding "gzip"; #오리진이 gzip 지원 해야 함. set $gaccept 'gzip'; }
'Nginx > Nginx 모듈 학습' 카테고리의 다른 글
ngx_http_image_filter_module 모듈 (0) | 2023.09.21 |
---|---|
ngx_http_gzip_static_module 모듈 (1) | 2023.09.21 |
ngx_http_empty_gif_module 모듈 (0) | 2023.09.21 |
ngx_http_addition_module 모듈 (0) | 2023.09.21 |
ngx_http_access_module 모듈 (0) | 2023.09.20 |