techlogia — KI- und Web-Dienstleister Berlin
Alle Kurse
Frei lesbar – ohne Anmeldung

Live-Webseite mit HTTPS deployen

Du legst innerhalb einer Stunde eine eigene Webseite online — mit gültigem HTTPS-Zertifikat von Let's Encrypt, deiner eigenen Subdomain und echtem nginx. Du editierst HTML, prüfst nginx-Konfig und triggerst certbot. Am Ende kannst du den Link teilen — er ist live solange die Lab-Session läuft (max. 60 Minuten).

Dauer: 30 Min.Niveau: EinsteigerAufgaben: 4

Eigene Seite mit Let's-Encrypt-Zertifikat

Live-Webseite mit HTTPS deployen

In diesem Modul bringst du innerhalb einer Stunde eine echte Webseite online — mit gültigem HTTPS-Zertifikat. Du editierst HTML, prüfst die nginx-Konfiguration und holst per certbot ein Zertifikat von Let's Encrypt.

Wichtige Begriffe

  • Let's Encrypt: eine kostenlose, automatisierte Zertifizierungsstelle (CA), die echte, von Browsern akzeptierte Zertifikate ausstellt.
  • certbot: das Werkzeug, das das Let's-Encrypt-Zertifikat holt und in nginx einträgt.
  • HTTP-01-Challenge: Let's Encrypt prüft über Port 80, dass dir die Domain wirklich gehört — deshalb muss HTTP zuerst funktionieren.

Dein Ziel

nginx auf HTTP zum Laufen bringen, die Startseite anpassen, ein TLS-Zertifikat holen und prüfen, dass HTTPS antwortet. Der Link ist live, solange die Lab-Session läuft.

Aufgaben

  1. 1. nginx antwortet auf HTTP

    Begriff: HTTP-Erreichbarkeit. Der erste Schritt jeder Deploy-Pipeline: Antwortet überhaupt ein Webserver? Ohne 200 OK auf Port 80 kann später auch die HTTPS-Pipeline nicht laufen (Let's Encrypt braucht Port 80 für die Challenge).

    Stelle sicher, dass nginx läuft, und prüfe:

    sudo systemctl enable --now nginx
    curl -sI http://localhost/

    Kommt 502? Dann sudo systemctl status nginx ansehen.

    Kontrolle: curl -sI http://localhost/ liefert eine HTTP/... 200-Statuszeile.

  2. 2. index.html anpassen

    Begriff: Document-Root. nginx liefert die Dateien aus einem Verzeichnis aus — dem Document-Root (/var/www/lab/). Die Startseite ist index.html. Mache sie zu deiner eigenen.

    Bearbeite /var/www/lab/index.html (sudo nano /var/www/lab/index.html) und füge den Titel ein:

    <h1>Meine erste eigene Webseite</h1>

    Kontrolle: /var/www/lab/index.html enthält den Text Meine erste eigene Webseite.

  3. 3. HTTPS-Zertifikat geholt

    Begriff: certbot & automatische Konfiguration. certbot mit dem nginx-Plugin holt das Zertifikat und trägt es automatisch in die nginx-Config ein (die ssl_certificate-Zeile zeigt dann nach /etc/letsencrypt/live/...).

    Hole das Zertifikat für deine Lab-Domain (certbot fragt sie ab bzw. nutzt die vorbereitete):

    sudo certbot --nginx --non-interactive --agree-tos -m student@example.com

    certbot richtet zugleich die HTTP→HTTPS-Weiterleitung ein.

    Kontrolle: /etc/nginx/sites-enabled/lab-deploy.conf enthält ssl_certificate /etc/letsencrypt/live/....

  4. 4. HTTPS antwortet mit 200 OK

    Begriff: Final-Check. Spricht nginx jetzt wirklich TLS und liefert deine Seite per HTTPS aus? Auch 301/302 (HTTP→HTTPS-Weiterleitung) zählen als Erfolg.

    curl -sIk https://localhost/

    -k ignoriert den Cert-Hostname-Mismatch (das Cert ist für deine Lab-Domain, nicht „localhost"). Kommt „Failed to connect to port 443"? Dann ist certbot noch nicht durch.

    Kontrolle: curl -sIk https://localhost/ liefert HTTP/... 200, 301 oder 302.

Jetzt selbst üben

Lesen ist gut – selbst machen ist besser. Starte diesen Kurs an einer echten Linux-VM, direkt im Browser. Ein kostenloses Konto genügt.

Kostenlos starten

Lab-Inhalte unter CC BY 4.0 – frei nutzbar mit Namensnennung (© TechLogia).

Live-Webseite mit HTTPS deployen