Search Documentation

Search for pages and headings in the documentation

HTTPS-Konfiguration ohne Reverse Proxy

Standardmäßig ist CrispyCMS für den Betrieb hinter einem Reverse Proxy optimiert, wobei das Frontend auf Port 80 und die API auf Port 81 über HTTP kommunizieren. In Szenarien, in denen TLS direkt in der Anwendung terminiert werden soll, bietet CrispyCMS jedoch die Möglichkeit, natives HTTPS zu aktivieren. In diesem Modus werden alle Anfragen über die Standard-Ports 80 (HTTP-Redirect) und 443 (HTTPS) abgewickelt, wobei die Trennung zwischen Frontend und API über Hostnames erfolgt.

Konfiguration über Umgebungsvariablen

Die Aktivierung und Steuerung des TLS-Modus erfolgt ausschließlich über Umgebungsvariablen. Hierbei müssen sowohl die Pfade zu den Zertifikatsdateien als auch die dedizierten Domains für die API-Schnittstelle definiert werden.

Zertifikatspfade für das Frontend

Das Frontend lauscht in diesem Modus auf allen eingehenden Domains; ein expliziter Host kann hier nicht gesetzt werden.

  • NGINX_FRONTEND_CERT_PATH: /certs/dev.crispycms.de.pem – Der absolute Pfad zum SSL-Zertifikat des Frontends.
  • NGINX_FRONTEND_KEY_PATH: /certs/dev.crispycms.de.key – Der absolute Pfad zum privaten Schlüssel des Frontends.

Zertifikatspfade und Domains für die API

Für die API-Schnittstelle ist die Definition aller drei folgenden Variablen zwingend erforderlich:

  • NGINX_API_CERT_PATH: /certs/api.dev.crispycms.de.pem – Pfad zum API-Zertifikat.
  • NGINX_API_KEY_PATH: /certs/api.dev.crispycms.de.key – Pfad zum API-Key.
  • NGINX_API_DOMAINS: api.dev.crispycms.de – Eine Liste der Domains (vHost), unter denen die API erreichbar sein soll.

Port-Weiterleitung und Netzwerk

Sobald das native HTTPS-Feature genutzt wird, ändert sich das Netzwerkverhalten des Containers signifikant. Da Port 81 entfällt, müssen Sie sicherstellen, dass die Ports 80 und 443 explizit an den Container weitergeleitet werden.

Erweiterte Nginx-Konfiguration

Für fortgeschrittene Setups können zusätzliche, eigene Nginx-Konfigurationsdateien in das System eingebunden werden. CrispyCMS inkludiert automatisch alle .conf Dateien aus den folgenden Verzeichnissen:

ZielbereichVerzeichnispfad
API vHost/etc/nginx/api.crisp.conf.d/*.conf
Frontend vHost/etc/nginx/crisp.conf.d/*.conf

Dies erlaubt es Entwicklern, spezifische Header, Cache-Regeln oder Sicherheitsrichtlinien pro vHost zu definieren, ohne die Basis-Konfiguration des CMS verändern zu müssen.