From cb9fd496beb10d65a9e118059a4a77202b0fdb3f Mon Sep 17 00:00:00 2001 From: Olivier Navas Date: Mon, 27 Jun 2022 20:17:27 +0200 Subject: [PATCH] Externalisation de la configuration du vhost du reverse proxy --- README.md | 18 +----------------- defaults/main.yml | 1 - handlers/main.yml | 5 ----- tasks/configure_reverse_proxy.yml | 8 -------- tasks/configure_reverse_proxy_fqdn.yml | 11 ----------- templates/0_vhost.conf | 2 -- templates/1_vhost_additional.conf | 13 ------------- templates/2_mds_exclusion.conf | 7 ------- templates/docker-compose.yml | 2 +- templates/robots-sitemap.txt | 2 +- 10 files changed, 3 insertions(+), 66 deletions(-) delete mode 100644 tasks/configure_reverse_proxy.yml delete mode 100644 tasks/configure_reverse_proxy_fqdn.yml delete mode 100644 templates/0_vhost.conf delete mode 100644 templates/1_vhost_additional.conf delete mode 100644 templates/2_mds_exclusion.conf diff --git a/README.md b/README.md index f58c5cd..1db6ca7 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,7 @@ ## Services fournis -- main.yml : Installation d'une instance grav sur un serveur docker_host -- configure_reverse_proxy.yml : Configuration d'un reverse proxy préalablement installé par le role reverse_proxy - -Le reverse proxy est configuré de sorte que la section /admin de grav soit protégée et accessible uniquement à des utilisateurs ayant un compte LDAP validé par le reverse proxy. +Installation d'une instance grav sur un serveur docker_host ## Variables @@ -16,13 +13,7 @@ Fournir les variables suivantes. Par exemple : docker_grav_fqdn: monsite.libretic.fr docker_grav_data_dir: /data1 docker_grav_service_id: monsite -docker_grav_ldap_admin_users: user1 user2 docker_grav_image_version: 1.7.31 -docker_grav_rp_cert: LE -docker_grav_rp_docker_host: machine.domaine.local -docker_grav_rp_access_policy: OpenAccessPolicy -docker_grav_rp_indexing: BlockCrawlerIndexing -docker_grav_rp_waf: "On" ``` | Option | Valeur par défaut | Description | @@ -30,14 +21,7 @@ docker_grav_rp_waf: "On" | docker_grav_fqdn | | Nom de domaine, ou liste de noms de domaines, pour lequel le service grav répond | | docker_grav_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | | docker_grav_service_id | | Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik | -| docker_grav_ldap_admin_users | | Utilisateurs LDAP autorisés à passer le reverse proxy pour la section /admin de grav | | docker_grav_image_version | | Version de grav et de l'image docker | -| docker_grav_rp_docker_host | | pour configure_reverse_proxy.yml: fqdn de la machine contenant le conteneur docker | -| docker_grav_rp_cert | LE | Type de certificat pour le reverse proxy (LE = letsencrypt) | -| docker_grav_rp_access_policy | | Modèle d'autorisation d'accès du reverse proxy | -| docker_grav_rp_indexing | | Stratégie du reverse proxy vis à vis des robots | -| docker_grav_rp_waf | | Activation websecurity du reverse proxy | -| docker_grav_rp_custom_csp | non défini | Si précisé, définit un CSP header avec la valeur indiquée | diff --git a/defaults/main.yml b/defaults/main.yml index 6532ff8..e69de29 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1 +0,0 @@ -docker_grav_rp_cert: LE diff --git a/handlers/main.yml b/handlers/main.yml index cd642ac..a29e45d 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -3,8 +3,3 @@ docker-compose up -d args: chdir: /opt/{{ docker_grav_service_id }}/ - -- name: reverse-proxy-reload - service: - name: apache2 - state: reloaded diff --git a/tasks/configure_reverse_proxy.yml b/tasks/configure_reverse_proxy.yml deleted file mode 100644 index c9d58a2..0000000 --- a/tasks/configure_reverse_proxy.yml +++ /dev/null @@ -1,8 +0,0 @@ -- name: prepare reverse_proxy - include_tasks: configure_reverse_proxy_fqdn.yml - loop: "{{ docker_grav_fqdn }}" - loop_control: - loop_var: _fqdn - - - diff --git a/tasks/configure_reverse_proxy_fqdn.yml b/tasks/configure_reverse_proxy_fqdn.yml deleted file mode 100644 index 2dc4d89..0000000 --- a/tasks/configure_reverse_proxy_fqdn.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: prepare reverse_proxy_fqdn - template: - src: "{{ item }}" - dest: /etc/apache2/vhosts.d/{{ _fqdn }}/ - with_items: - - 0_vhost.conf - - 1_vhost_additional.conf - - 2_mds_exclusion.conf - notify: reverse-proxy-reload - - diff --git a/templates/0_vhost.conf b/templates/0_vhost.conf deleted file mode 100644 index 931d27c..0000000 --- a/templates/0_vhost.conf +++ /dev/null @@ -1,2 +0,0 @@ -# {{ ansible_managed }} -Use vhost_HTTPS_Generic {{ _fqdn }} {{ docker_grav_rp_cert }} http {{ docker_grav_rp_docker_host }} info {{ docker_grav_rp_access_policy }} {{ docker_grav_rp_indexing }} {{ docker_grav_rp_waf }} diff --git a/templates/1_vhost_additional.conf b/templates/1_vhost_additional.conf deleted file mode 100644 index 8d3f81d..0000000 --- a/templates/1_vhost_additional.conf +++ /dev/null @@ -1,13 +0,0 @@ -# {{ ansible_managed }} - -ProxyErrorOverride off -RequestHeader unset Authorization - -{% if docker_grav_rp_custom_csp is defined %} -Header set Content-Security-Policy "{{ docker_grav_rp_custom_csp }}" -{% endif %} - - - Use LDAPUserAccessPolicy - Require ldap-user {{ docker_grav_ldap_admin_users | join(' ') }} - diff --git a/templates/2_mds_exclusion.conf b/templates/2_mds_exclusion.conf deleted file mode 100644 index fb481a9..0000000 --- a/templates/2_mds_exclusion.conf +++ /dev/null @@ -1,7 +0,0 @@ -# {{ ansible_managed }} - - SecRuleRemoveById 933210 - SecRuleRemoveById 942100 - SecRuleRemoveById 949110 - - diff --git a/templates/docker-compose.yml b/templates/docker-compose.yml index edbe776..4a31e5d 100644 --- a/templates/docker-compose.yml +++ b/templates/docker-compose.yml @@ -17,7 +17,7 @@ services: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.routers.{{ docker_grav_service_id }}.entrypoints=web" - - "traefik.http.routers.{{ docker_grav_service_id }}.rule=Host(`{{ docker_grav_fqdn | join('`) || Host(`') }}`)" + - "traefik.http.routers.{{ docker_grav_service_id }}.rule=Host(`{{ docker_grav_fqdn }}`)" - "traefik.http.services.{{ docker_grav_service_id }}.loadbalancer.server.port=80" networks: - traefik diff --git a/templates/robots-sitemap.txt b/templates/robots-sitemap.txt index fe5ff58..c339514 100644 --- a/templates/robots-sitemap.txt +++ b/templates/robots-sitemap.txt @@ -1,4 +1,4 @@ -Sitemap: https://{{ docker_grav_fqdn[0] }}/sitemap +Sitemap: https://{{ docker_grav_fqdn }}/sitemap User-agent: * Disallow: /backup/ Disallow: /bin/