Browse Source

Add Nginx snippet to set real ip in logs while using cloudflare

Emmanuel Bouthenot 4 years ago
parent
commit
409bb1af1e
2 changed files with 42 additions and 0 deletions
  1. 14 0
      roles/webserver/tasks/nginx.yml
  2. 28 0
      roles/webserver/templates/nginx/cloudflare.conf.j2

+ 14 - 0
roles/webserver/tasks/nginx.yml

@@ -225,6 +225,20 @@
     - 'web'
     - 'nginx'
 
+- name: 'Install Cloudflare configuration to set the real ip in logs'
+  template:
+    src: 'nginx/cloudflare.conf.j2'
+    dest: '/etc/nginx/snippets/cloudflare.conf'
+    owner: 'root'
+    group: 'root'
+    mode: '0644'
+  notify:
+    - 'Reload nginx'
+  when: with_cloudflare is defined and with_cloudflare
+  tags:
+    - 'web'
+    - 'nginx'
+
 - name: 'Ensure nginx is running'
   service:
     name: 'nginx'

+ 28 - 0
roles/webserver/templates/nginx/cloudflare.conf.j2

@@ -0,0 +1,28 @@
+{% if ansible_prolog -%}
+{% from 'templates/ansible/prolog.j2' import prolog with context %}
+{{ prolog() }}
+{% endif -%}
+
+set_real_ip_from 103.21.244.0/22;
+set_real_ip_from 103.22.200.0/22;
+set_real_ip_from 103.31.4.0/22;
+set_real_ip_from 104.16.0.0/12;
+set_real_ip_from 108.162.192.0/18;
+set_real_ip_from 131.0.72.0/22;
+set_real_ip_from 141.101.64.0/18;
+set_real_ip_from 162.158.0.0/15;
+set_real_ip_from 172.64.0.0/13;
+set_real_ip_from 173.245.48.0/20;
+set_real_ip_from 188.114.96.0/20;
+set_real_ip_from 190.93.240.0/20;
+set_real_ip_from 197.234.240.0/22;
+set_real_ip_from 198.41.128.0/17;
+set_real_ip_from 2400:cb00::/32;
+set_real_ip_from 2606:4700::/32;
+set_real_ip_from 2803:f800::/32;
+set_real_ip_from 2405:b500::/32;
+set_real_ip_from 2405:8100::/32;
+set_real_ip_from 2c0f:f248::/32;
+set_real_ip_from 2a06:98c0::/29;
+
+real_ip_header CF-Connecting-IP;