SSL/TLS-Zertifikat einrichten: Let's Encrypt Anleitung
Kostenloses SSL/TLS-Zertifikat mit Let's Encrypt und Certbot auf Nginx und Apache installieren. Automatische Erneuerung, HTTPS-Konfiguration und Fehlerbehebung.
Inhaltsverzeichnis
SSL/TLS-Zertifikat einrichten: Let's Encrypt Anleitung
SSL/TLS-Zertifikate verschlüsseln die Kommunikation zwischen Ihrem Webserver und den Besuchern. HTTPS ist heute für SEO-Rankings, Browser-Vertrauensindikatoren und Benutzersicherheit unerlässlich. Let's Encrypt bietet kostenlose, automatisierte und quelloffene Zertifikate.
Was ist SSL/TLS?
SSL (Secure Sockets Layer) und sein moderner Nachfolger TLS (Transport Layer Security) sind kryptografische Protokolle, die Daten im Netzwerk sichern. Bei HTTPS:
- Daten werden verschlüsselt übertragen (Vertraulichkeit)
- Die Serveridentität wird verifiziert (Authentifizierung)
- Daten können nicht manipuliert werden (Integrität)
Moderne Browser markieren HTTP-Seiten als 'Nicht sicher'. Google verwendet HTTPS als Rankingfaktor. Auf REXE-Servern ist die SSL-Installation kostenlos und einfach.
Certbot installieren
Certbot ist das offizielle Tool zum automatischen Abrufen und Erneuern von Let's Encrypt-Zertifikaten.
Debian/Ubuntu
# System aktualisieren
sudo apt update && sudo apt upgrade -y
# Certbot mit Nginx-Plugin installieren
sudo apt install certbot python3-certbot-nginx -y
# Für Apache
sudo apt install certbot python3-certbot-apache -y
RHEL/CentOS/AlmaLinux
# EPEL-Repository hinzufügen
sudo dnf install epel-release -y
# Certbot installieren
sudo dnf install certbot python3-certbot-nginx -y
Installation via Snap (Empfohlen)
# Snapd installieren
sudo apt install snapd -y
# Certbot via Snap installieren
sudo snap install --classic certbot
# Symlink erstellen
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# Version prüfen
certbot --version
SSL-Zertifikat für Nginx
Voraussetzungen
Vor der Zertifikatsausstellung:
- Ihre Domain muss auf die IP-Adresse Ihres Servers zeigen
- Ports 80 und 443 müssen geöffnet sein
- Nginx muss laufen
# Domain-Auflösung prüfen
nslookup example.com
# Firewall-Status prüfen
sudo ufw status
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Automatische Nginx-Konfiguration
# Zertifikat abrufen und Nginx automatisch konfigurieren
sudo certbot --nginx -d example.com -d www.example.com
# Nur Zertifikat abrufen (manuelle Konfiguration)
sudo certbot certonly --nginx -d example.com -d www.example.com
# Wildcard-Zertifikat (DNS-Challenge erforderlich)
sudo certbot certonly --manual --preferred-challenges dns -d "*.example.com" -d example.com
Manuelle Nginx SSL-Konfiguration
# HTTP zu HTTPS umleiten
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
# HTTPS-Serverblock
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=15768000" always;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
# Konfiguration testen
sudo nginx -t
# Nginx neu laden
sudo systemctl reload nginx
SSL-Zertifikat für Apache
# SSL-Modul aktivieren
sudo a2enmod ssl
sudo a2enmod rewrite
# Zertifikat mit Apache-Plugin abrufen
sudo certbot --apache -d example.com -d www.example.com
Manuelle Apache SSL-Konfiguration
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Header always set Strict-Transport-Security "max-age=15768000"
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
Automatische Erneuerung
Let's Encrypt-Zertifikate sind 90 Tage gültig. Certbot richtet einen systemd-Timer oder Cron-Job ein.
# Automatische Erneuerung testen
sudo certbot renew --dry-run
# Timer-Status prüfen
sudo systemctl status certbot.timer
# Manuelle Erneuerung
sudo certbot renew
# Nginx nach Erneuerung neu laden
sudo certbot renew --post-hook "systemctl reload nginx"
Cron-basierte Erneuerung
# Crontab bearbeiten
sudo crontab -e
# Zweimal täglich prüfen
0 0,12 * * * certbot renew --quiet --post-hook "systemctl reload nginx"
Zertifikatsstatus prüfen
# Alle Zertifikate auflisten
sudo certbot certificates
# Ablaufdatum prüfen
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
Fehlerbehebung
Port 80 gesperrt
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo systemctl status nginx
Domain-Auflösungsfehler
nslookup example.com 8.8.8.8
dig example.com +short
curl -4 ifconfig.me
Let's Encrypt hat Rate-Limits: 5 fehlgeschlagene Versuche pro Stunde. Verwenden Sie --staging zum Testen.
# Staging-Umgebung (keine Rate-Limits)
sudo certbot --nginx --staging -d example.com
Fazit
Mit Let's Encrypt und Certbot dauert die SSL/TLS-Zertifikatsinstallation nur wenige Minuten. Die automatische Erneuerung beseitigt Bedenken wegen ablaufender Zertifikate. HTTPS auf REXE-Servern ist sowohl für die Sicherheit als auch für die SEO-Performance entscheidend.
Verwandte Artikel
VDS-Server per SSH verbinden: PuTTY, Terminal & Schlüssel
SSH-Verbindung zum Linux VDS-Server: PuTTY, Terminal, schlüsselbasierte Authentifizierung, Path Panel Firewall-Regel und Sicherheitstipps für Einsteiger.
Windows VDS per RDP verbinden: Vollständige Anleitung
Schritt-für-Schritt-Anleitung zur RDP-Verbindung mit Windows Server VDS: Einrichtung, NLA-Sicherheit, Path Panel Firewall-Regel und Fehlerbehebung.
VDS-Server Betriebssystem wechseln: Schritt-für-Schritt
Betriebssystemwechsel am VDS-Server über das REXE-Panel: Backup-Tipps, unterstützte Linux-Distributionen und Windows Server Versionen im Überblick.