Verfügbarkeit Premium
Dieser Artikel beschreibt, wie Sie Ihre eigene Installation von Meisterplan (On-Premise) mit einem SSL-Proxy absichern.
Empfohlen: SSL mit mpctl
Seit Juni 2024 wird Meisterplan standardmäßig mit HTTPS installiert. Dabei wird ein selbst signiertes Zertifikat automatisch generiert, während Meisterplan mittels mpctl install
installiert wird.
Wir empfehlen, das automatisch generierte Zertifikat nach der Installation durch ein eigenes zu ersetzen.
- a) Wenn Sie bereits ein SSL-Zertifikat für Ihren Server haben, kopieren Sie es in das Verzeichnis ssl-certs Ihrer Installation. Die erwarteten Namen für die öffentlichen und privaten Schlüssel sind cert.crt und cert.key.
b) Falls Sie noch kein SSL-Zertifikat haben, können Sie mit dem folgenden Befehl ein selbstsigniertes Zertifikat via openssl erstellen. Geben Sie den Befehl im Root-Verzeichnis Ihrer Installation ein:
Wir empfehlen die Verwendung einer CA, die bereits in Ihrer Organisation registeriert ist.openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./ssl-certs/cert.key -out ./ssl-certs/cert.crt
Alternative: SSL über Ihren eigenen Proxy-Server
Wir empfehlen Ihnen, SSL-Verschlüsselung mit Hilfe der Standard-Meisterplan-Installation einzurichten (siehe vorheriger Abschnitt). Dennoch können Sie andere Software von Drittanbietern einsetzen. Das ist beispielsweise dann ratsam, wenn Sie den Proxy auf einem anderen Server installieren möchten oder wenn Sie bereits einen Proxy als Teil Ihrer Infrastruktur im Einsatz haben.
Voraussetzungen
Damit Meisterplan bei Verwendung von anderen Proxy-Servern korrekt funktioniert, müssen folgende Voraussetzungen erfüllt sein:
- X-Forwarded-*-Headers (mehr Informationen hier) müssen gesetzt werden:
- X-Forwarded-Proto
- X-Forwarded-Host
- X-Forwarded-Port
- Websocket-Pakete müssen erlaubt sein, da Meisterplan Websockets verwendet, um Änderungen zwischen den Clients zu verteilen.
- Die folgenden HTTP-Methoden müssen unterstützt werden:
- GET
- POST
- PUT
- DELETE
- OPTIONS
- PATCH
Als Nächstes zeigen wir Ihnen zwei Beispiel-Konfigurationen der populärsten http-Server, welche die oben genannten Voraussetzungen erfüllen.
Schritt 1: Meisterplan konfigurieren
Gehen Sie wie folgt vor, um Meisterplan für die Nutzung hinter Ihrem Load-Balancer/Reverse-Proxy zu konfigurieren:
- Aktivieren Sie die Load-Balancer-Funktion:
mpctl config loadbalancer true
- Setzen Sie die URL Ihres Load-Balancers/Reverse-Proxys als Meisterplan Basis-URL:
mpctl config baseurl https://meisterplan.mycorp.com
Wobei https://meisterplan.mycorp.com der URL Ihres Load-Balancers/Reverse-Proxys entspricht. - Starten Sie Meisterplan neu:
mpctl restart
Schritt 2: Ihren Proxy-Server konfigurieren
Konfiguration für Apache httpd
Verwenden Sie mindestens Apache httpd 2.4.10 oder höher.
Der folgende Abschnitt bietet eine Schritt-für-Schritt-Anleitung für die Einrichtung von Apache mit SSL:
- Installieren Sie Apache httpd wie in der offiziellen Dokumentation beschrieben.
- Bereiten Sie ein SSL-Zertifikat vor. Sie können ein existierendes oder ein selbstsigniertes Zertifikat verwenden. Letzteres ist mit
openssl
möglich. Führen Sie zum Generieren eines SSL-Zertifikats folgenden Befehl aus:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/cert.key -out /etc/apache2/cert.crt
- Aktivieren Sie die notwendigen Apache Module. Unter Ubuntu können Sie dazu einfach
a2enmod
verwenden:a2enmod proxy proxy_http proxy_wstunnel ssl headers
- Entfernen Sie die Zeile
Listen 80
aus der Datei /etc/apache2/ports.conf. - Bearbeiten Sie die Datei /etc/apache2/sites-enabled/000-default und ersetzen Sie den Inhalt durch:
<VirtualHost *:443>
ServerName meisterplan.mycorp.com
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes On
ProxyPass / http://mpsv1.server.mycorp.com/
ProxyPassReverse / http://mpsv1.server.mycorp.com/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
SSLEngine on
SSLCertificateFile /etc/apache2/cert.crt
SSLCertificateKeyFile /etc/apache2/cert.key
<VirtualHost *:443> - Die Zeile
ServerName
gibt an, unter welcher Adresse der SSL-Proxy läuft. Die ZeileProxyPass
gibt an, unter welcher Adresse die Meisterplan Installation läuft. Bitte achten Sie darauf, dass diese Werte Ihrer Konfiguration entsprechen. - Starten Sie Apache (z.B. mit
service apache2 start
oderservice apache2 reload
, falls die Anwendung schon läuft)
Konfiguration für Nginx
Nginx stellt eine Alternative zu Apache dar. Sie können es installieren und einrichten, indem Sie dieser Schritt-für-Schritt-Anleitung folgen:
- Installieren Sie Nginx wie in der offiziellen Dokumentation beschrieben
- Bereiten Sie ein SSL-Zertifikat vor. Sie können ein bereits vorhandenes Zertifikat verwenden oder ein selbstsigniertes Zertifikat erstellen. Letzteres ist mit
openssl
möglich. Führen Sie zum Generieren eines SSL-Zertifikats folgenden Befehl aus:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
- Bearbeiten Sie die Datei /etc/nginx/sites-enabled/default und ersetzen Sie den Inhalt durch:
server {
listen 443;
server_name meisterplan.mycrop.com;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
ssl on;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/meisterplan.access.log;
location/ {
proxy_pass http://mpsv1.server.mycorp.com;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
} - Die Zeile
server_name
gibt an, unter welcher Adresse der SSL-Proxy läuft. Die Zeileproxy_pass
gibt an, unter welcher Adresse die Meisterplan-Installation läuft. Bitte achten Sie darauf, dass diese Werte Ihrer Konfiguration entsprechen. - Starten Sie Apache (z.B. mit
service nginx start
odernginx -s reload
, falls die Anwendung schon läuft)