# Problème : nginx ne charge pas les configurations dans conf.d ## Date 2025-12-28 ## Problème Le site https://zapwall.fr/ pointait vers le mauvais site (LEcoffre au lieu de Zapwall) malgré une configuration correcte dans `/etc/nginx/conf.d/zapwall.fr.conf`. ## Symptômes - https://zapwall.fr/ servait le site LEcoffre (test-lecoffreio.4nkweb.com) - La configuration `zapwall.fr.conf` existait et était correcte - Le service zapwall fonctionnait correctement sur le port 3001 - Nginx ne chargeait pas les configurations dans `conf.d/` ## Root cause La configuration principale nginx (`/etc/nginx/nginx.conf` dans le conteneur Docker `lecoffre_nginx_test`) ne contenait pas la directive `include /etc/nginx/conf.d/*.conf;` pour charger les configurations des sites dans le répertoire `conf.d/`. Le fichier nginx.conf était monté depuis l'hôte (`/home/debian/sites/test-lecoffreio.4nkweb.com/deploy/nginx/nginx-test.conf`) et ne chargeait que la configuration pour `test-lecoffreio.4nkweb.com`. ## Impact - Le site zapwall.fr n'était pas accessible correctement - Les utilisateurs voyaient le mauvais site - La configuration zapwall.fr.conf était ignorée par nginx ## Correctifs 1. Ajout de la directive `include /etc/nginx/conf.d/*.conf;` dans le bloc `http` de nginx.conf, avant la fermeture du bloc 2. Modification du fichier sur l'hôte : `/home/debian/sites/test-lecoffreio.4nkweb.com/deploy/nginx/nginx-test.conf` 3. Redémarrage du conteneur nginx pour prendre en compte la modification ## Modifications - **Fichier modifié** : `/home/debian/sites/test-lecoffreio.4nkweb.com/deploy/nginx/nginx-test.conf` (sur l'hôte) - **Ajout** : ```nginx # Include site configurations include /etc/nginx/conf.d/*.conf; ``` Avant la fermeture du bloc `http` (avant `}`) ## Modalités de déploiement 1. Arrêter le conteneur nginx : `sudo docker stop lecoffre_nginx_test` 2. Modifier le fichier sur l'hôte : `/home/debian/sites/test-lecoffreio.4nkweb.com/deploy/nginx/nginx-test.conf` 3. Ajouter l'inclusion avant la fermeture du bloc `http` 4. Démarrer le conteneur : `sudo docker start lecoffre_nginx_test` 5. Vérifier la configuration : `sudo docker exec lecoffre_nginx_test nginx -t` 6. Vérifier que zapwall.fr est chargé : `sudo docker exec lecoffre_nginx_test nginx -T | grep "server_name zapwall.fr"` ## Modalités d'analyse Pour vérifier si le problème existe : 1. Vérifier si l'inclusion existe : `sudo docker exec lecoffre_nginx_test cat /etc/nginx/nginx.conf | grep "include.*conf.d"` 2. Vérifier si zapwall.fr est chargé : `sudo docker exec lecoffre_nginx_test nginx -T | grep "server_name zapwall.fr"` 3. Tester avec curl : `sudo docker exec lecoffre_nginx_test curl -s -k -H "Host: zapwall.fr" https://localhost | head -5` ## Notes - Le fichier nginx.conf est monté en lecture seule depuis l'hôte dans le conteneur Docker - Les modifications doivent être faites sur l'hôte, pas dans le conteneur - Le conteneur doit être redémarré pour prendre en compte les modifications du fichier monté - L'inclusion doit être dans le bloc `http`, pas après sa fermeture