TLS & Zertifikate in Drupal konfigurieren

TLS auf Server-Ebene einrichten und Drupal für HTTPS konfigurieren — reverse_proxy, Base-URL und Cookie-Sicherheit in settings.php.

Drupal · Schritt für Schritt

TLS & Zertifikate in Drupal

Transport Layer Security (TLS) verschlüsselt die Kommunikation zwischen Browser und Server. TLS wird auf der Server-Ebene konfiguriert (Nginx/Apache), nicht in Drupal selbst. Drupal muss aber für HTTPS konfiguriert werden: Base-URL, Reverse-Proxy-Einstellungen und sichere Cookies. Im Wolf-Agents Web Security Check bringt eine korrekte TLS-Konfiguration 4 von 166 Punkten.

Besonders wichtig bei Drupal hinter einem Reverse Proxy oder CDN: Ohne $settings['reverse_proxy'] erkennt Drupal HTTPS nicht korrekt und generiert HTTP-Links statt HTTPS.

Der Wolf-Agents Web Security Check prüft TLS-Version, Zertifikatsgültigkeit, Cipher Suites und den HTTP-zu-HTTPS-Redirect. Bei Drupal-spezifischen Konfigurationsfehlern wie fehlendem Reverse-Proxy-Setup liefert der Scanner gezielte Hinweise.

Drupal für HTTPS konfigurieren

TLS-Zertifikate installieren Sie auf dem Server (Let's Encrypt). In Drupal konfigurieren Sie anschließend die HTTPS-Erkennung und die sichere Cookie-Übertragung.

settings.php richtig absichern

Die Datei settings.php enthält Datenbankzugangsdaten. Setzen Sie die Berechtigungen auf 444 (nur lesbar). Drupal selbst warnt im Statusbericht, wenn die Datei schreibbar ist.

settings.php
sites/default/settings.phpProduktiv
<?php
// sites/default/settings.php

// Base-URL auf HTTPS setzen
$settings['base_url'] = 'https://ihre-domain.de';

// Reverse Proxy konfigurieren (wenn hinter Load Balancer/CDN)
$settings['reverse_proxy'] = TRUE;
$settings['reverse_proxy_addresses'] = ['10.0.0.1'];
$settings['reverse_proxy_trusted_headers'] =
  \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR |
  \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO;

// Sichere Cookies erzwingen
ini_set('session.cookie_secure', TRUE);
HTTPS-Redirect
.htaccessRedirect
# .htaccess — HTTP zu HTTPS Redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Verifizierung

TLS-Verbindung und HTTP-zu-HTTPS-Redirect prüfen. Die openssl-Ausgabe zeigt Protokollversion, Cipher Suite und Zertifikatskette. Erwarten Sie mindestens TLS 1.2 — TLS 1.0 und 1.1 sind veraltet und unsicher. Der HTTP-Redirect sollte einen 301 Moved Permanently zurückgeben.

TerminalVerifizierung
# TLS-Verbindung prüfen
openssl s_client -connect ihre-domain.de:443 -servername ihre-domain.de

# Erwartete Ausgabe (Auszug):
# Protocol  : TLSv1.3

# HTTP-zu-HTTPS-Redirect prüfen
curl -sI http://ihre-domain.de | grep -i location

Häufige Fehler

TLS-Probleme in Drupal betreffen häufig die HTTPS-Migration und die Reverse-Proxy-Konfiguration in settings.php.

Mixed Content nach HTTPS-Migration

Drupal-Inhalte mit hartcodierten http://-URLs erzeugen Mixed-Content-Warnungen. Nutzen Sie drush sql-query oder ein Search-Replace-Tool, um alle URLs in der Datenbank zu aktualisieren.

reverse_proxy nicht konfiguriert

Ohne $settings['reverse_proxy'] erkennt Drupal hinter einem Load Balancer oder CDN HTTPS nicht. Interne Links werden als HTTP generiert, was zu Redirect-Loops führt.

Zertifikat nicht erneuert

Let's-Encrypt-Zertifikate laufen nach 90 Tagen ab. Prüfen Sie, dass der Certbot-Renewal-Cronjob funktioniert: certbot renew --dry-run.

Drupal-Cron über HTTP statt HTTPS

Wenn Drupals Cron per URL aufgerufen wird (/cron/[key]), muss die URL HTTPS verwenden. Prüfen Sie die Cron-Konfiguration unter /admin/config/system/cron und in externen Cron-Diensten.

Compliance-Relevanz

TLS-Verschlüsselung ist die Grundvoraussetzung für sichere Datenübertragung und in nahezu allen Compliance-Frameworks als Pflicht definiert.

NIS2Art. 21(h) — Einsatz von Kryptografie und Verschlüsselung
PCI DSS 4.0Anforderung 4.2.1 — Starke Kryptografie bei Datenübertragung
BSITR-02102-2 — Empfehlungen zur TLS-Konfiguration

Zusammenfassung

TLS wird auf Server-Ebene konfiguriert, aber Drupal benötigt eigene Anpassungen in der settings.php: Base-URL, Reverse-Proxy-Einstellungen und sichere Cookies. Vergessen Sie nach der HTTPS-Migration nicht, alle internen URLs in der Datenbank zu aktualisieren und den Cron-Job auf HTTPS umzustellen.

Der Wolf-Agents Scanner prüft TLS-Version, Zertifikat und HTTPS-Redirect automatisch und gibt konkrete Hinweise bei Konfigurationsfehlern.

Wie steht Ihre Domain bei TLS & Zertifikate?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.