Configurez Nginx en proxy inverse pour votre application, avec HTTPS automatique grâce à un certificat Let's Encrypt gratuit.
Ce guide suppose que Nginx est déjà installé (voir le guide d'installation de Nginx) et qu'un domaine pointe vers l'IP de votre VPS.
- Installez Certbot et le plugin Nginx :
apt update && apt install certbot python3-certbot-nginx - Créez une configuration de site dans
/etc/nginx/sites-available/myapp. Remplacezyourdomain.comet le port du proxy par vos valeurs :
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://127.0.0.1:3000; 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; } } - Activez le site et rechargez Nginx :
ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/nginx -t && systemctl reload nginx - Ouvrez les ports 80 et 443 dans le pare-feu du portail et en local :
ufw allow "Nginx Full" - Obtenez un certificat SSL gratuit :
certbot --nginx -d yourdomain.com
Certbot réécrit automatiquement votre configuration Nginx pour gérer HTTPS et les redirections de HTTP vers HTTPS. - Vérifiez que le renouvellement automatique est actif :
systemctl status certbot.timer
Certbot renouvelle les certificats automatiquement avant leur expiration, aucune action manuelle n'est requise.
Plusieurs domaines : répétez les étapes 2 à 5 pour chaque site supplémentaire, avec un fichier de configuration distinct par domaine. Chacun obtient son propre certificat.