TL;DR
2 Befehle, kostenlos, auto-renewal. Geht schief wenn DNS noch nicht propagiert ist oder Port 80 zu ist. Beide Fehler sind dumm und vermeidbar.
voraussetzungen bevor du anfängst
⚠ DNS muss stimmen! Certbot verifiziert deine Domain über HTTP. Wenn dein A-Record noch auf die falsche IP zeigt oder noch nicht propagiert ist, kriegst du einen fetten Connection-Fehler. Erst prüfen, dann certbot.
dig deinedomain.ch
dig www.deinedomain.ch
certbot installieren
Auf Ubuntu 24.04 gibt's certbot nicht mehr via apt. Snap nehmen:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
zertifikat holen
sudo certbot --nginx -d deinedomain.ch -d www.deinedomain.ch
Certbot fragt nach Email (für Ablauf-Mails) und Terms of Service. Danach patcht er automatisch deine nginx-Config und richtet HTTPS ein. Du musst nichts manuell anfassen.
✓ Certbot richtet auto-renewal ein. Zertifikate laufen nach 90 Tagen ab und werden automatisch erneuert. Du musst nichts tun.
häufige fehler und was dahintersteckt
ERR
Timeout during connect (likely firewall problem)
Port 80 ist in deiner AWS Security Group zu. EC2 → Security Groups → Inbound Rules → HTTP Port 80 hinzufügen.
ERR
Invalid response / 404
DNS zeigt zwar auf die richtige IP, aber nginx liefert 404 auf den Challenge-Pfad. nginx nochmal neu starten: sudo systemctl restart nginx
ERR
Non-ASCII domain names not supported
Du hast Umlaute in der Domain (z.B. müller.ch). Punycode verwenden:
punycoder.com → ergibt z.B.
xn--mller-kva.ch
ERR
Package 'certbot' has no installation candidate
apt-Version gibt's auf 24.04 nicht mehr. Snap nehmen (siehe oben).
renewal manuell testen
sudo certbot renew --dry-run