Mettre en place un serveur NGINX comme reverse proxy sécurisé avec SSL et gestion du load balancing

Publié le 28 juin 2025

Infrastructure
Sécurité
Web

NGINX est un serveur web léger et puissant qui peut être utilisé comme reverse proxy pour sécuriser, centraliser et équilibrer le trafic vers vos applications internes.

Prérequis

  • Un serveur Linux (Debian, Ubuntu, Rocky, AlmaLinux)
  • Un domaine configuré (DNS pointant vers l’IP du serveur)
  • Accès root ou sudo

Installation de NGINX

Debian/Ubuntu

sudo apt update
sudo apt install nginx -y

RHEL/AlmaLinux/Rocky

sudo dnf install nginx -y

Configuration du reverse proxy

Créer un fichier /etc/nginx/sites-available/mon-site :

server {
    listen 80;
    server_name mon-domaine.com;

    location / {
        proxy_pass http://192.168.1.10:8080;
        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;
    }
}

Activer le site :

sudo ln -s /etc/nginx/sites-available/mon-site /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Ajouter SSL avec Let’s Encrypt

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d mon-domaine.com

Renouvellement automatique :

sudo systemctl status certbot.timer

Configuration de Load Balancing

Modifier le bloc location :

upstream backend {
    server 192.168.1.10:8080;
    server 192.168.1.11:8080;
}

server {
    listen 443 ssl;
    server_name mon-domaine.com;

    ssl_certificate /etc/letsencrypt/live/mon-domaine.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mon-domaine.com/privkey.pem;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Optimisation et sécurité

  • Activer le cache statique
  • Limiter le nombre de connexions
  • Ajouter un firewall applicatif avec fail2ban ou modsecurity
  • Activer les headers de sécurité :
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";

Conclusion

Avec NGINX, vous pouvez mettre en place un reverse proxy robuste, sécurisé et performant, adapté aussi bien aux petites applications qu’aux infrastructures plus complexes avec load balancing.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser