From 0d3fe3d5dc3da3e859379b059bcdce075df16b5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= <bpiotrowski@archlinux.org>
Date: Wed, 5 Jul 2017 15:05:57 +0200
Subject: [PATCH] nginx: enable gzip and brotli compression

---
 roles/nginx/tasks/main.yml          |  2 +-
 roles/nginx/templates/nginx.conf.j2 | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml
index 57c6cb1b5..de4f92ec5 100644
--- a/roles/nginx/tasks/main.yml
+++ b/roles/nginx/tasks/main.yml
@@ -1,7 +1,7 @@
 ---
 
 - name: install nginx
-  pacman: name=nginx,certbot state=present
+  pacman: name=nginx,nginx-mod-brotli,certbot state=present
 
 - name: install nginx.service snippet
   copy: src=nginx.service.d dest=/etc/systemd/system owner=root group=root mode=0644
diff --git a/roles/nginx/templates/nginx.conf.j2 b/roles/nginx/templates/nginx.conf.j2
index 0685c1965..f00e034f1 100644
--- a/roles/nginx/templates/nginx.conf.j2
+++ b/roles/nginx/templates/nginx.conf.j2
@@ -1,5 +1,8 @@
 worker_processes  auto;
 
+load_module /usr/lib/nginx/modules/ngx_http_brotli_filter_module.so;
+load_module /usr/lib/nginx/modules/ngx_http_brotli_static_module.so;
+
 events {
     worker_connections  1024;
 }
@@ -14,6 +17,13 @@ http {
     keepalive_timeout  65;
     client_max_body_size 16M;
 
+    gzip on;
+    gzip_comp_level 6;
+    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
+
+    brotli on;
+    brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
+
     index  index.php index.html index.htm;
 
     access_log syslog:server=unix:/dev/log,nohostname,tag=nginx_http;
-- 
GitLab