SSL Zertifikat Einrichten HTTPS
SSL-Zertifikat einrichten & HTTPS aktivieren
Ein SSL-Zertifikat verschlüsselt die Verbindung zwischen Browser und Server. Seit 2018 markiert Google Websites ohne HTTPS als "Nicht sicher" - ein absolutes No-Go für jede professionelle Website. Diese Anleitung zeigt, wie Sie SSL richtig einrichten.
Warum HTTPS unverzichtbar ist
- Sicherheit: Verschlüsselte Datenübertragung schützt sensible Informationen
- Vertrauen: Grünes Schloss-Symbol signalisiert Besuchern Seriosität
- SEO-Ranking: Google bevorzugt HTTPS-Websites in den Suchergebnissen
- Pflicht: DSGVO verlangt technische Schutzmaßnahmen für Formulare
- Performance: HTTP/2 und HTTP/3 funktionieren nur mit HTTPS
Arten von SSL-Zertifikaten
| Typ | Validierung | Kosten | Geeignet für |
|---|---|---|---|
| DV (Domain Validated) | Nur Domain | Kostenlos - 50€/Jahr | Blogs, kleine Websites |
| OV (Organization Validated) | Domain + Firma | 50€ - 200€/Jahr | Unternehmenswebsites |
| EV (Extended Validation) | Umfangreiche Prüfung | 200€ - 500€/Jahr | Banken, E-Commerce |
| Wildcard | Domain + Subdomains | 100€ - 300€/Jahr | Viele Subdomains |
Let's Encrypt mit Certbot (Empfohlen)
Let's Encrypt bietet kostenlose DV-Zertifikate, die für die meisten Websites ausreichen:
Installation unter Ubuntu/Debian
# Certbot installieren
sudo apt update
sudo apt install certbot python3-certbot-nginx
# Zertifikat für Nginx anfordern
sudo certbot --nginx -d example.com -d www.example.com
# Oder für Apache
sudo apt install python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
Automatische Erneuerung prüfen
# Timer-Status prüfen
sudo systemctl status certbot.timer
# Manueller Test der Erneuerung
sudo certbot renew --dry-run
💡 Tipp: Let's Encrypt Zertifikate sind 90 Tage gültig. Certbot richtet automatisch einen Cronjob für die Erneuerung ein.
SSL in Nginx konfigurieren
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
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;
# Moderne SSL-Konfiguration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
# HSTS aktivieren (vorsichtig verwenden!)
add_header Strict-Transport-Security "max-age=63072000" always;
root /var/www/html;
index index.php index.html;
}
SSL in Apache konfigurieren
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# Moderne Protokolle
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder off
Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
Nach der Umstellung: Checkliste
- Mixed Content beheben: Alle internen Links auf HTTPS umstellen
- Canonical Tags: Auf HTTPS-Version setzen
- Sitemap aktualisieren: Neue URLs mit HTTPS
- Google Search Console: HTTPS-Property hinzufügen
- 301-Redirects: HTTP → HTTPS Weiterleitung einrichten
- Externe Links: Wo möglich auf HTTPS aktualisieren
SSL-Zertifikat testen
Prüfen Sie Ihre SSL-Konfiguration mit diesen Tools:
- SSL Labs Server Test - Umfassende Analyse
- SSL Shopper Checker - Schnelltest
- Security Headers - Header-Prüfung
⚠️ Wichtig: Ein A+ Rating bei SSL Labs sollte das Ziel sein. Aktivieren Sie dafür HSTS und verwenden Sie nur moderne TLS-Versionen.
Häufige Probleme
Mixed Content Warnung
Wenn Ressourcen (Bilder, Scripts) noch über HTTP geladen werden:
# In der Datenbank ersetzen (WordPress)
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://example.com', 'https://example.com');
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://example.com', 'https://example.com');
Redirect-Schleife
Bei Cloudflare oder Load-Balancern:
# In PHP prüfen
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
}
Weitere Hilfe
Bei Fragen zur SSL-Einrichtung unterstützen wir Sie gerne:
- 📧 E-Mail: support@enjyn.de
- 📚 Weitere Anleitungen in unserer Wissensdatenbank