Externalisation de la configuration du vhost du reverse proxy
This commit is contained in:
parent
81f60a7b0d
commit
cb9fd496be
10 changed files with 3 additions and 66 deletions
18
README.md
18
README.md
|
@ -3,10 +3,7 @@
|
||||||
|
|
||||||
## Services fournis
|
## Services fournis
|
||||||
|
|
||||||
- main.yml : Installation d'une instance grav sur un serveur docker_host
|
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.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
|
@ -16,13 +13,7 @@ Fournir les variables suivantes. Par exemple :
|
||||||
docker_grav_fqdn: monsite.libretic.fr
|
docker_grav_fqdn: monsite.libretic.fr
|
||||||
docker_grav_data_dir: /data1
|
docker_grav_data_dir: /data1
|
||||||
docker_grav_service_id: monsite
|
docker_grav_service_id: monsite
|
||||||
docker_grav_ldap_admin_users: user1 user2
|
|
||||||
docker_grav_image_version: 1.7.31
|
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 |
|
| 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_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_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_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_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 |
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
docker_grav_rp_cert: LE
|
|
|
@ -3,8 +3,3 @@
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
args:
|
args:
|
||||||
chdir: /opt/{{ docker_grav_service_id }}/
|
chdir: /opt/{{ docker_grav_service_id }}/
|
||||||
|
|
||||||
- name: reverse-proxy-reload
|
|
||||||
service:
|
|
||||||
name: apache2
|
|
||||||
state: reloaded
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
- name: prepare reverse_proxy
|
|
||||||
include_tasks: configure_reverse_proxy_fqdn.yml
|
|
||||||
loop: "{{ docker_grav_fqdn }}"
|
|
||||||
loop_control:
|
|
||||||
loop_var: _fqdn
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
||||||
|
|
|
@ -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 }}
|
|
|
@ -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 %}
|
|
||||||
|
|
||||||
<Location /admin>
|
|
||||||
Use LDAPUserAccessPolicy
|
|
||||||
Require ldap-user {{ docker_grav_ldap_admin_users | join(' ') }}
|
|
||||||
</Location>
|
|
|
@ -1,7 +0,0 @@
|
||||||
# {{ ansible_managed }}
|
|
||||||
<LocationMatch "^/admin/">
|
|
||||||
SecRuleRemoveById 933210
|
|
||||||
SecRuleRemoveById 942100
|
|
||||||
SecRuleRemoveById 949110
|
|
||||||
</LocationMatch>
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ services:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.docker.network=traefik"
|
- "traefik.docker.network=traefik"
|
||||||
- "traefik.http.routers.{{ docker_grav_service_id }}.entrypoints=web"
|
- "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"
|
- "traefik.http.services.{{ docker_grav_service_id }}.loadbalancer.server.port=80"
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Sitemap: https://{{ docker_grav_fqdn[0] }}/sitemap
|
Sitemap: https://{{ docker_grav_fqdn }}/sitemap
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /backup/
|
Disallow: /backup/
|
||||||
Disallow: /bin/
|
Disallow: /bin/
|
||||||
|
|
Loading…
Reference in a new issue