Richten Sie Nginx als Reverse-Proxy für Ihre Anwendung ein, mit automatischem HTTPS über ein kostenloses Let's-Encrypt-Zertifikat.
Diese Anleitung setzt voraus, dass Nginx bereits installiert ist (siehe die Nginx-Installationsanleitung) und eine Domain auf die IP Ihres VPS zeigt.
- Certbot und das Nginx-Plugin installieren:
apt update && apt install certbot python3-certbot-nginx - Legen Sie eine Site-Konfiguration unter
/etc/nginx/sites-available/myappan. Ersetzen Sieyourdomain.comund den Proxy-Port durch Ihre Werte:
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; } } - Site aktivieren und Nginx neu laden:
ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/nginx -t && systemctl reload nginx - Öffnen Sie die Ports 80 und 443 in der Portal-Firewall und lokal:
ufw allow "Nginx Full" - Kostenloses SSL-Zertifikat beziehen:
certbot --nginx -d yourdomain.com
Certbot passt Ihre Nginx-Konfiguration automatisch an, um HTTPS und die Weiterleitung von HTTP auf HTTPS zu übernehmen. - Prüfen, ob die automatische Erneuerung aktiv ist:
systemctl status certbot.timer
Certbot erneuert Zertifikate automatisch vor ihrem Ablauf, ein manuelles Eingreifen ist nicht nötig.
Mehrere Domains: Wiederholen Sie die Schritte 2 bis 5 für jede weitere Site und verwenden Sie pro Domain eine eigene Konfigurationsdatei. Jede erhält ihr eigenes Zertifikat.