Aller au contenu

LXC 207 – Reverse Proxy Nginx + Certbot

Informations générales

  • Nom : Reverse Proxy Nginx + Certbot
  • IP : 192.168.1.207
  • Type : LXC
  • OS : Debian
  • Rôle : Reverse proxy centralisé + gestion SSL/TLS avec Let's Encrypt

Services installés

  • Nginx
  • Serveur reverse proxy
  • Gère l’accès HTTPS externe et redirige vers les LXC internes
  • Ports : 80 (HTTP → redirection HTTPS), 443 (HTTPS)

  • Certbot (Let’s Encrypt)

  • Génération et renouvellement automatique des certificats SSL
  • Certificats stockés dans /etc/letsencrypt/

Configuration

  • Répertoires :
  • /etc/nginx/sites-available/ – fichiers de config
  • /etc/nginx/sites-enabled/ – symlinks vers configs actives
  • /etc/letsencrypt/ – certificats SSL et clés

  • Exemple de proxy vers Nextcloud (LXC 202) : ```nginx server { listen 80; server_name cloud.mondomaine.tld; return 301 https://\(host\)request_uri; }

server { listen 443 ssl; server_name cloud.mondomaine.tld;

  ssl_certificate /etc/letsencrypt/live/cloud.mondomaine.tld/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/cloud.mondomaine.tld/privkey.pem;

  location / {
      proxy_pass http://192.168.1.202;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
  }

} ````

  • Certificats :

  • Création :

    certbot --nginx -d cloud.mondomaine.tld
    
    * Renouvellement automatique via cron :

    certbot renew --quiet
    

Sauvegardes

Répertoires à inclure :

  • /etc/nginx/ (configs proxy)
  • /etc/letsencrypt/ (certificats et clés SSL)

⚠️ Restaurer les certificats avant de redémarrer Nginx pour éviter interruptions HTTPS.


Supervision

  • Ports/services critiques :

  • 80 (HTTP – ACME challenge Let’s Encrypt)

  • 443 (HTTPS public)

  • Nagios4 (LXC 210) :

  • Vérification HTTPS sur cloud.mondomaine.tld, jellyfin.mondomaine.tld, etc.

  • Alerte si certificat expire bientôt

Commandes utiles

# Vérifier services
systemctl status nginx
systemctl status certbot.timer

# Redémarrer
systemctl restart nginx

# Vérifier config Nginx
nginx -t

# Forcer un renouvellement SSL
certbot renew --dry-run

# Logs
tail -f /var/log/nginx/error.log
tail -f /var/log/letsencrypt/letsencrypt.log

Notes

  • Tous les services exposés (Nextcloud, Jellyfin, sites web, etc.) passent par ce reverse proxy.
  • En cas de problème SSL, vérifier que le port 80 est accessible pour le challenge ACME.
  • Possibilité d’utiliser DNS-01 challenge si port 80 bloqué.