diff options
author | Christian Cleberg <hello@cleberg.net> | 2024-03-29 01:42:38 -0500 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2024-03-29 01:42:38 -0500 |
commit | 00b2726e0561f174393ae600f0f11adb8afebaab (patch) | |
tree | a4733d553ce68f64277ffa3a52f800dc58ff72de /content/blog/2022-12-01-nginx-compression.md | |
parent | 8ba3d90a0f3db7e5ed29e25ff6d0c1b557ed3ca0 (diff) | |
parent | 41bd0ad58e44244fe67cb36e066d4bb68738516f (diff) | |
download | cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.tar.gz cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.tar.bz2 cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.zip |
merge org branch into main
Diffstat (limited to 'content/blog/2022-12-01-nginx-compression.md')
-rw-r--r-- | content/blog/2022-12-01-nginx-compression.md | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/content/blog/2022-12-01-nginx-compression.md b/content/blog/2022-12-01-nginx-compression.md deleted file mode 100644 index 9341e19..0000000 --- a/content/blog/2022-12-01-nginx-compression.md +++ /dev/null @@ -1,79 +0,0 @@ -+++ -date = 2022-12-01 -title = "Enable GZIP Compression in Nginx" -description = "Learn how to enable compression in Nginx." -+++ - -## Text Compression - -Text compression allows a web server to serve text-based resources -faster than uncompressed data. This can speed up things like First -Contentful Paint, Tie to Interactive, and Speed Index. - -## Enable Nginx Compression with gzip - -In order to enable text compression on Nginx, we need to enable it -within the configuration file: - -```sh -nano /etc/nginx/nginx.conf -``` - -Within the `http` block, find the section that shows -something like the block below. This is the default gzip configuration I -found in my `nginx.conf` file on Alpine Linux 3.17. Yours may -look slightly different, just make sure that you're not creating any -duplicate gzip options. - -```conf -# Enable gzipping of responses. -#gzip on; - -# Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'. -gzip_vary on; -``` - -Remove the default gzip lines and replace them with the following: - -```conf -# Enable gzipping of responses. -gzip on; -gzip_vary on; -gzip_min_length 10240; -gzip_proxied expired no-cache no-store private auth; -gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; -gzip_disable "MSIE [1-6]"; -``` - -## Explanations of ngx~httpgzipmodule~ Options - -Each of the lines above enables a different aspect of the gzip response -for Nginx. Here are the full explanations: - -- `gzip` -- Enables or disables gzipping of responses. -- `gzip_vary` -- Enables or disables inserting the "Vary: - Accept-Encoding" response header field if the directives gzip, - gzip~static~, or gunzip are active. -- `gzip_min_length` -- Sets the minimum length of a - response that will be gzipped. The length is determined only from - the "Content-Length" response header field. -- `gzip_proxied` -- Enables or disables gzipping of - responses for proxied requests depending on the request and - response. The fact that the request is proxied is determined by the - presence of the "Via" request header field. -- `gzip_types` -- Enables gzipping of responses for the - specified MIME types in addition to "text/html". The special value - "*" matches any MIME type (0.8.29). Responses with the - "text/html" type are always compressed. -- `gzip_disable` -- Disables gzipping of responses for - requests with "User-Agent" header fields matching any of the - specified regular expressions. - - The special mask "msie6" (0.7.12) corresponds to the regular - expression "MSIE [4-6].", but works faster. Starting from - version 0.8.11, "MSIE 6.0; ... SV1" is excluded from this - mask. - -More information on these directives and their options can be found on -the [Module -ngx~httpgzipmodule~](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) -page in Nginx's documentation. |