aboutsummaryrefslogtreecommitdiff
path: root/blog/2022-12-01-nginx-compression.org
diff options
context:
space:
mode:
Diffstat (limited to 'blog/2022-12-01-nginx-compression.org')
-rw-r--r--blog/2022-12-01-nginx-compression.org83
1 files changed, 0 insertions, 83 deletions
diff --git a/blog/2022-12-01-nginx-compression.org b/blog/2022-12-01-nginx-compression.org
deleted file mode 100644
index c3669dd..0000000
--- a/blog/2022-12-01-nginx-compression.org
+++ /dev/null
@@ -1,83 +0,0 @@
-#+title: Enable GZIP Compression on Nginx
-#+date: 2022-12-01
-
-** Text Compression
-:PROPERTIES:
-:CUSTOM_ID: text-compression
-:ID: 24C2F6E7-129E-42F3-91F0-A6C6C519FA01
-:END:
-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
-:PROPERTIES:
-:CUSTOM_ID: enable-nginx-compression-with-gzip
-:ID: C018C991-E253-4779-A702-AEB69614499F
-:END:
-In order to enable text compression on Nginx, we need to enable it
-within the configuration file:
-
-#+begin_src sh
-nano /etc/nginx/nginx.conf
-#+end_src
-
-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.
-
-#+begin_src conf
-# Enable gzipping of responses.
-#gzip on;
-
-# Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'.
-gzip_vary on;
-#+end_src
-
-Remove the default gzip lines and replace them with the following:
-
-#+begin_src 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]\.";
-#+end_src
-
-** Explanations of ngx_http_gzip_module Options
-:PROPERTIES:
-:CUSTOM_ID: explanations-of-ngx_http_gzip_module-options
-:ID: C180752B-E1B9-49A5-B180-84488068A76A
-:END:
-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 [[https://nginx.org/en/docs/http/ngx_http_gzip_module.html][Module
-ngx_http_gzip_module]] page in Nginx's documentation.