SSL Basics ·
Let's Encrypt ·
Cipher Suites ·
HSTS ·
OCSP Stapling ·
HTTP/2
SSL/TLS ist essenziell für die Sicherheit von Webanwendungen. Dieses Cheatsheet fasst die wichtigsten NGINX-Konfigurationen für HTTPS, moderne Verschlüsselung und Sicherheitsheader zusammen.
SSL Basics – die grundlegende Konfiguration für HTTPS in NGINX. Sie benötigen ein SSL-Zertifikat und den dazugehörigen privaten Schlüssel.
/etc/nginx/ssl/) und setzen Sie restriktive Berechtigungen (chmod 600).
Let's Encrypt bietet kostenlose SSL/TLS-Zertifikate mit automatischer Erneuerung. certbot ist das offizielle Client-Tool für die Zertifikatsverwaltung.
| Befehl | Beschreibung |
|---|---|
| certbot --nginx -d domain.de | Zertifikat beantragen (NGINX-Plugin) |
| certbot renew | Alle Zertifikate erneuern |
| certbot renew --dry-run | Erneuerung testen (ohne Änderungen) |
| certbot certificates | Alle Zertifikate anzeigen |
| certbot revoke --cert-path /pfad/ | Zertifikat widerrufen |
certbot renew --dry-run testen.
Cipher Suites definieren die Verschlüsselungsalgorithmen für die SSL/TLS-Verbindung. Moderne Ciphers bieten bessere Sicherheit und Performance.
| Direktive | Empfehlung |
|---|---|
| ssl_protocols | TLSv1.2 TLSv1.3 (SSLv3, TLSv1.0, TLSv1.1 deaktivieren) |
| ssl_ciphers | Moderne ECDHE-Ciphers bevorzugen (siehe Beispiel) |
| ssl_prefer_server_ciphers | on |
| ssl_session_cache | shared:SSL:10m (verbessert Performance) |
| ssl_session_timeout | 10m |
| ssl_session_tickets | off (sicherer, aber beeinträchtigt Performance leicht) |
HSTS (HTTP Strict Transport Security) zwingt Browser, Ihre Website immer über HTTPS aufzurufen. Das verhindert SSL-Stripping-Angriffe und verbessert die Sicherheit.
| Parameter | Beschreibung |
|---|---|
| max-age=31536000 | Gültigkeitsdauer in Sekunden (1 Jahr = 31536000) |
| includeSubDomains | HSTS auch für Subdomains aktivieren |
| preload | Domain in HSTS-Preload-Liste aufnehmen (optional) |
max-age (z.B. 300 Sekunden).
OCSP Stapling verbessert die SSL-Performance, indem der Server den Zertifikatsstatus selbst prüft und dem Browser übermittelt – so entfällt eine separate OCSP-Anfrage des Browsers.
HTTP/2 bietet Multiplexing, Server Push und Header-Kompression – was zu deutlich schnelleren Ladezeiten führt. HTTP/2 benötigt zwingend HTTPS (TLS).
http2 in der listen-Direktive. Für maximale Performance kombinieren Sie es mit OCSP Stapling.
listen 443 ssl
certbot
ssl_ciphers
HSTS
ssl_stapling
http2
listen 443 ssl http2 ·
ssl_certificate /pfad/cert.pem ·
add_header Strict-Transport-Security ...