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.

  1. Certbot und das Nginx-Plugin installieren:
    apt update && apt install certbot python3-certbot-nginx
  2. Legen Sie eine Site-Konfiguration unter /etc/nginx/sites-available/myapp an. Ersetzen Sie yourdomain.com und 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;
        }
    }
  3. Site aktivieren und Nginx neu laden:
    ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
    nginx -t && systemctl reload nginx
  4. Öffnen Sie die Ports 80 und 443 in der Portal-Firewall und lokal:
    ufw allow "Nginx Full"
  5. 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.
  6. 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.

War diese Anleitung hilfreich?

Vielen Dank für Ihr Feedback!