Table des matières

Installer et configurer Nginx

Installation

Status de Nginx

Installer le point d'entrée permettant d'accéder au status de Nginx :

Maintenir les logs web sur 1 an

Configure les logs avec maintient sur 1 an (obligation légale) :

Modification du format des logs

Modifier les logs d'accès (ajout d'infos) pour Telegraf et GoAccess :

ATTENTION : vérifier la présence du nom de domaine de l'hôte virtuel ($host) dans les logs d’accès.

Configuration de la compression

Activer la compression Gzip du contenu renvoyé par Nginx pour tous les types Mime (JS, CSS…) :

Configuration de la taille maximum des fichiers téléverssables

Ajouter le support de GeoIp

Ajouter le support des fichiers d'authentification HTTP

Installer les scripts d'activation/désactivation des sites Nginx

Activer les prisons Fail2ban pour Nginx

Éviter l'erreur "bind() to 172.18.5.1:9090 failed (99: Cannot assign requested address)"

Au redémarrage de la machine, il arrive que Docker ne soit pas complètement lancé. Cela provoque l'erreur : bind() to 172.18.5.1:9090 failed (99: Cannot assign requested address) et cela empêche Nginx de démarrer. Il faut donc le lancer manuellement : systemctl start nginx. L'erreur était due au fichier /etc/nginx/conf.d/status.conf qui contenait une ligne listen 172.18.5.1:9090; . Cette ligne n'est finalement pas utile car il suffit d'écouter sur le port 9090 avec la commande listen 9090; les paramètres allow <…> ; suffisent à limiter l'accès. Le port est bien accessible sur 127.0.0.1 comme sur 172.18.5.1 (pour un accès dans un container Docker).

Création d'un certificat SSL avec Certbot

D'une manière générale la démarche à suivre pour créer un certificat SSL chez Letsencrypt à l'aide de Certbot :

Suppression d'un certificat SSL avec Certbot

Si vous souhaitez supprimer une certificat SSL créé par l'intermédiaire de Certbot, utiliser la commande : sudo certbot delete --cert-name <domaine>.<ext>