58 lines
3.0 KiB
Markdown
58 lines
3.0 KiB
Markdown
# 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
|