라이브러리
[NGINX] gzip_proxied - 프록시 서버를 통해서 오는 요청에 대해 gzip을 처리할지 여부를 설정합니다.
NGINX에서 gzip_proxied는 gzip 압축을 사용하여 클라이언트에게 전송되는 데이터를 압축하는 기능입니다. 이 기능을 사용하면 클라이언트가 받는 데이터의 양이 줄어들어 전송 속도가 향상되고, 클라이언트의 자원 사용량도 줄어듭니다.
gzip_proxied의 기본적인 사용법
gzip_proxied는 NGINX의 http 모듈에서 사용할 수 있습니다. 기본적인 사용법은 다음과 같습니다.
#hostingforum.kr
nginx
http {
...
gzip on;
gzip_proxied any;
...
}
위의 예제에서 `gzip on`은 gzip 압축을 활성화하고, `gzip_proxied any`는 모든 요청에 대해 gzip 압축을 적용합니다.
gzip_proxied의 옵션
`gzip_proxied`에는 여러 옵션이 있습니다. 이 옵션을 사용하면 gzip 압축을 특정한 조건에 따라 적용할 수 있습니다.
- `any`: 모든 요청에 대해 gzip 압축을 적용합니다.
- `default`: 기본적으로 gzip 압축을 적용하지 않습니다. 하지만 클라이언트가 gzip 압축을 지원하는 경우 gzip 압축을 적용합니다.
- `expired`: 클라이언트가 gzip 압축을 지원하는 경우 gzip 압축을 적용합니다.
- `external`: 클라이언트가 gzip 압축을 지원하는 경우 gzip 압축을 적용합니다.
- `no_body`: 클라이언트가 gzip 압축을 지원하는 경우 gzip 압축을 적용하지 않습니다.
- `none`: gzip 압축을 적용하지 않습니다.
gzip_proxied의 예제
#hostingforum.kr
nginx
http {
...
gzip on;
gzip_proxied any;
gzip_min_length 100;
gzip_buffers 4 8k;
gzip_comp_level 6;
...
}
위의 예제에서 `gzip_min_length 100`은 클라이언트에게 전송되는 데이터의 길이가 100바이트 이상인 경우 gzip 압축을 적용합니다. `gzip_buffers 4 8k`은 gzip 압축을 위해 사용할 버퍼의 크기를 4개 8KB로 설정합니다. `gzip_comp_level 6`은 gzip 압축의 압축 수준을 6으로 설정합니다.
gzip_proxied의 실무적 사용법
실무적으로 gzip_proxied를 사용할 때는 클라이언트의 브라우저와 서버의 성능을 고려해야 합니다. 클라이언트의 브라우저가 gzip 압축을 지원하는지 확인하고, 서버의 성능에 따라 gzip 압축의 압축 수준을 조절해야 합니다.
#hostingforum.kr
nginx
http {
...
gzip on;
gzip_proxied any;
gzip_min_length 100;
gzip_buffers 4 8k;
gzip_comp_level 6;
map $http_accept_encoding $gzip_accept {
~*gzip 1;
default 0;
}
...
}
위의 예제에서 `map $http_accept_encoding $gzip_accept`은 클라이언트의 브라우저가 gzip 압축을 지원하는지 확인합니다. 클라이언트의 브라우저가 gzip 압축을 지원하는 경우 `gzip_accept`은 1이 됩니다.
#hostingforum.kr
nginx
http {
...
gzip on;
gzip_proxied any;
gzip_min_length 100;
gzip_buffers 4 8k;
gzip_comp_level 6;
if ($gzip_accept = 1) {
gzip_comp_level 9;
} else {
gzip_comp_level 3;
}
...
}
위의 예제에서 `if ($gzip_accept = 1)`은 클라이언트의 브라우저가 gzip 압축을 지원하는 경우 gzip 압축의 압축 수준을 9로 설정합니다. 클라이언트의 브라우저가 gzip 압축을 지원하지 않는 경우 gzip 압축의 압축 수준을 3으로 설정합니다.
댓글목록
등록된 댓글이 없습니다.