b968ec8aa5
Reverse proxy Nginx (image stable-alpine) qui sert l'app upstream ou une page de maintenance 503 selon l'IP du client. - Modes whitelist/blacklist commutables via MAINTENANCE_MODE - Liste IPv4 via MAINTENANCE_IP_LIST (séparée par virgules, validée au boot) - Logique en directives Nginx natives (geo + map), zéro Lua/njs - Page statique sobre HTML+CSS inline, zéro JS, zéro réseau sortant - Log dédié /var/log/nginx/maintenance.log pour les requêtes bloquées - Validation des env vars dans /docker-entrypoint.d/10-init.sh - Stack Docker + docker-compose pour dev local et tests - 6 cas de tests d'intégration (whitelist/blacklist x autorisée/bloquée + log + nginx -t) - Lint shellcheck propre sur tous les scripts shell
942 B
942 B
Changelog
Tous les changements notables de ce projet sont documentés dans ce fichier.
Le format suit Keep a Changelog et le projet adhère au Semantic Versioning.
[Unreleased]
Added
- Reverse proxy Nginx avec page de maintenance conditionnelle par IP (mode whitelist/blacklist).
- Configuration via variables d'environnement :
MAINTENANCE_MODE,MAINTENANCE_IP_LIST,UPSTREAM_HOST,LISTEN_PORT,SERVER_NAME. - Page de maintenance HTML statique sobre, sans JS, sans dépendance réseau.
- Log dédié
maintenance.logpour les requêtes bloquées. - Validation des env vars et de la conf Nginx au démarrage du conteneur.
- Tests d'intégration shell (whitelist autorisée/bloquée, blacklist bloquée/normale, log dédié, syntaxe Nginx).
- Lint shellcheck +
nginx -t. - Packaging Docker + docker-compose pour le dev local et les tests.