open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Host

Certbot unter Debian 12 für Nginx installieren – Schritt-für-Schritt-Anleitung

Autor
Certbot unter Debian 12 für Nginx installieren – Schritt-für-Schritt-Anleitung

HTTPS ist heute Standard. Ein gültiges SSL-Zertifikat schützt nicht nur die Kommunikation zwischen Browser und Server, sondern steigert auch das Vertrauen deiner Besucher – und verbessert das Google-Ranking.

Die einfachste Möglichkeit, kostenlos ein solches Zertifikat zu bekommen, bietet Let's Encrypt – und das passende Tool dazu heißt Certbot.

In diesem Artikel lernst du:

  • wie du Certbot unter Debian 12 installierst,
  • wie du Nginx für HTTPS konfigurierst,
  • und wie du deine Zertifikate automatisch erneuern lässt.

Voraussetzungen

  • Ein Server mit Debian 12 (Bookworm)
  • Nginx ist installiert und läuft (sudo systemctl status nginx)
  • Eine registrierte Domain, die auf deinen Server zeigt (A-/AAAA-Record)
  • Root-Zugriff oder sudo-Rechte

1. Certbot und das Nginx-Plugin installieren

Schritt 1: Paketquellen aktualisieren

sudo apt update

Schritt 2: Certbot für Nginx installieren

sudo apt install certbot python3-certbot-nginx -y

Diese Pakete beinhalten:

  • certbot: Das Hauptprogramm
  • python3-certbot-nginx: Plugin zur Automatisierung für Nginx

2. Zertifikat mit Certbot einrichten

Vorbereitung

Stelle sicher, dass in deiner Nginx-Konfiguration ein funktionierender HTTP-Server für deine Domain existiert:

server {
    listen 80;
    server_name deine-domain.de www.deine-domain.de;

    location / {
        proxy_pass http://localhost:3001;
        ...
    }
}

Speichern, dann Konfiguration prüfen und neu laden:

sudo nginx -t
sudo systemctl reload nginx

Schritt 3: Zertifikat anfordern und HTTPS automatisch konfigurieren

sudo certbot --nginx -d deine-domain.de -d www.deine-domain.de

Certbot prüft deine Konfiguration und richtet HTTPS automatisch ein – inklusive Redirect von HTTP auf HTTPS, wenn du zustimmst.

Du wirst gefragt:

  • ob du HTTP zu HTTPS umleiten willst (empfohlen)
  • eine E-Mail-Adresse für wichtige Benachrichtigungen

Nach erfolgreicher Einrichtung:

Deine Website ist nun per HTTPS erreichbar!

3. Zertifikate automatisch erneuern

Let's Encrypt-Zertifikate sind 90 Tage gültig, sollten aber spätestens nach 60 Tagen erneuert werden. Certbot bringt einen Timer mit:

Status prüfen:

sudo systemctl status certbot.timer

Falls noch nicht aktiviert:

sudo systemctl enable --now certbot.timer

Manuelle Erneuerung testen (optional):

sudo certbot renew --dry-run

4. Zertifikatsspeicherorte (zur Info)

  • Zertifikat: /etc/letsencrypt/live/deine-domain.de/fullchain.pem
  • Schlüssel: /etc/letsencrypt/live/deine-domain.de/privkey.pem

Diese werden automatisch von Certbot verwaltet – nicht selbst ändern.

Fehlerbehebung

Fehler: Failed to restart nginx.service: Access denied

Das tritt auf, wenn du keinen Root-Zugriff hast. Verwende in diesem Fall:

sudo certbot ...

Oder prüfe, ob du in einer eingeschränkten Umgebung (z. B. chroot oder Webhosting-Panel) arbeitest.

Fazit

Mit Certbot und Let's Encrypt stattest du deinen Nginx-Webserver auf Debian 12 in wenigen Minuten mit einem gültigen SSL-Zertifikat aus. Die Einrichtung ist einfach, kostenlos und sicher – und mit dem certbot.timer sogar wartungsfrei.

Wenn deine Website grün verschlüsselt im Browser erscheint, hast du alles richtig gemacht.