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
fail2banoumodsecurity - 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.
Pour approfondir votre configuration, consultez notre guide Nginx avancé, découvrez le caching Nginx et explorez HTTP/2 et Brotli pour les performances optimales.


