diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f3184f..6a9b834 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,12 @@ - **Compteur « vivantes »** dans l'en-tête (depuis la sonde), à côté de actifs/planifiés. ### Corrigé +- **nginx ne validait pas sur Debian 13 (`server_tokens` en double).** Debian 13 livre + `server_tokens off;` **actif** dans `/etc/nginx/nginx.conf` (avant : commenté). Le + drop-in `conf.d/99-setops.conf` du rôle le redéclarait → `nginx -t` échouait + (« directive is duplicate ») et le déploiement plantait au handler de validation. Le + rôle `serveur_nginx` neutralise désormais la ligne distro (le drop-in reste l'unique + source). Trouvé en déployant nginx pour de vrai sur un hôte edge. - **Une voûte chiffrée cassait `instancier` / « Appliquer le plan ».** `ansible-inventory --list` (utilisé pour la comparaison sémantique du plan) tente de déchiffrer `group_vars/all/vault.yml` et échoue sans mot de passe (`exit 4`) — alors que diff --git a/roles/serveur_nginx/tasks/main.yml b/roles/serveur_nginx/tasks/main.yml index e79c7b5..7bf7218 100644 --- a/roles/serveur_nginx/tasks/main.yml +++ b/roles/serveur_nginx/tasks/main.yml @@ -6,6 +6,16 @@ update_cache: true cache_valid_time: 3600 +# Debian 13 fournit « server_tokens off; » actif dans nginx.conf. Notre drop-in +# 99-setops.conf le redeclare -> nginx -t echoue (« directive is duplicate »). +# On neutralise la ligne distro pour que 99-setops.conf soit l'unique source. +- name: Neutraliser le server_tokens par defaut de Debian + ansible.builtin.replace: + path: /etc/nginx/nginx.conf + regexp: '^(\s*)server_tokens\s+\S+;' + replace: '\1# server_tokens gere par Set-OPS (conf.d/99-setops.conf)' + notify: Valider et recharger nginx + - name: Deployer le durcissement de base nginx ansible.builtin.template: src: 99-setops.conf.j2