NGINX konfigurieren

Um NGINX als Reverse-Proxy für Intrexx verwenden zu können, muss dieser konfiguriert werden.

1. Konfigurationsdatei anpassen

Änderung in 20.09

Ersetzen Sie bei einem Upgrade auf Intrexx 20.09 in der NGINX-Konfigurationsdatei die Zeile

location ~ (css|download|images|include|is|script|temp|thirdparty|userfiles) {

durch die folgende Zeile

location ~ ^(/css|/fonts|/images|/include|/script|/thirdparty|/temp|/userfiles|/download|/is) {

In der Regel sind Nginx-Konfigurationsdateien betroffen, die mit Intrexx 20.03 OU3, 19.09, 19.03 OU13 oder älter erstellt wurden.


Unter den von Ihnen heruntergeladenen Setup-Dateien befinden sich zwei Vorlagendateien für die Konfiguration von NGINX. Diese finden Sie in folgendem Verzeichnis:

<INTREXX-ROOT>/samples/web-tls-configuration/NGINX/portal-intranet.conf

<INTREXX-ROOT>/samples/web-tls-configuration/NGINX/portal-internet.conf

Hinweis Die Datei "portal-internet.conf" enthält über die Angaben in der Datei "portal-intranet.conf" hinaus noch zusätzlich einen Abschnitt für die Konfiguration des OCSP-Staplings.

Öffnen Sie die Datei mit einem Editor Ihrer Wahl.

In der Datei finden Sie Anweisungen zur Konfiguration. Diese sind jeweils mit "TODO" gekennzeichnet.
Zentrale TODOs sind: Wichtig ist zudem die Angabe des korrekte Pfads zum "external/htmlroot" Verzeichnis des Portals.

Hinweis Wenn Intrexx 20.09 bereits installiert ist, dann können Sie die Konfigurationsdatei auch über Intrexx erzeugen.
  1. Öffnen Sie hierzu "Portal > Portaleigenschaften > Frontend Webserver (Reverse-Proxy/Load-Balancer) > Frontend-Webserver".



    Name Beschreibung
    NGINX Virtueller Host "NGINX Virtueller Host" bezieht sich auf den Embedded Tomcat. Über den Virtuellen Host nimmt NGINX die Verbindung zum Intrexx-Portaldienst auf. Üblicherweise ist hier "localhost" zu hinterlegen. (Eine Ausnahme kann vorliegen, wenn NGINX auf einem anderen Server als Intrexx installiert ist. In diesem Fall ist dann hier der Intrexx-Server zu hinterlegen.)
    NGINX Konfigurationsdatei Sie können die NGINX-Konfigurationsdatei über Intrexx erzeugen.

    Erfassen Sie den Pfad zu dem Verzeichnis, in dem Sie die NGINX-Konfigurationsdatei erzeugen möchten.
    Beispiel: "/myfolder/portal.example.com.conf"
    Kopieren oder verlinken Sie anschließend die NGINX-Konfigurationsdatei an die gewünschte Stelle unterhalb von "/etc/nginx".
    Beispiel: "/etc/nginx/sites-available/ portal.example.com.conf"
    Embedded Tomcat Port Hier wird der Port angezeigt, den Sie in der Vorgängerversion von Intrexx verwendet hatten. Diesen Port können Sie belassen.

    Hinweis Bei einer Neuinstallation ist hier der Port 1337 voreingestellt.
    Basis-URL des Portals Hier muss die Basis-URL hinterlegt sein.
    Der erste Teil besteht aus der Angabe des Protokolls. Beachten Sie, dass hier https angegeben ist. Der zweite Teil besteht aus der Angabe des Hostnamens, den Sie in der NGINX-Konfigurationsdatei hinterlegt haben. Beachten Sie, dass ein abschließender Slash (/) angegeben ist. Die korrekte Angabe ist zwingend erforderlich, damit Ihr Portal im Browser aufgerufen werden kann.
  2. Klicken Sie auf "OK".
    Intrexx erzeugt die Konfigurationsdatei. Dabei werden die in den Eingabefeldern erfassten Angaben in die Konfigurationsdatei geschrieben. Die Datei wird im angegebenen Verzeichnis abgelegt.
2. Konfigurationsdatei in Verzeichnis "sites-available" ablegen

Legen Sie die Konfigurationsdatei im Verzeichnis "sites-available" ab.

Hinweis Je nach Linux-Distribution und dem gewählten Installationspaket kann das Verzeichnis "sites-available" gegebenenfalls nicht zur Verfügung stehen. Informieren Sie sich in diesem Fall, wie die Konfigurationsdatei bei Ihrer Linux-Distribution implementiert werden muss.


3. Symlink zur Konfigurationsdatei erstellen

Erstellen Sie von sites-enabled einen Symlink auf die sites-available-Datei. Verwenden Sie dabei die vollständigen Pfade.

Hinweis Beim Einsatz von Symlinks sollten Sie darauf achten, diesen direkt im gewünschten Verzeichnis zu erstellen.

Beispiel: "ln–s /etc/nginx/sites-available/host.example.org.conf"


4. NGINX neu starten

Starten Sie NGINX neu.


NGINX und Intrexx auf verschiedenen Servern
Falls der NGINX auf einem anderen Server als Intrexx ausgeführt wird, müssen Sie folgende Blöcke in der Konfigurationsdatei auskommentieren: Das Auskommentieren dieser Blöcke ist erforderlich, damit die statischen Dateien nicht von NGINX ausgeliefert werden, da dieser auf den entfernten htmlroot des Portals keinen Zugriff hat.

WebSockets konfigurieren
Damit Sie WebSockets im Zusammenspiel mit NGINX einsetzen können, müssen Sie in der NGINX-Konfigurationsdatei angeben, welche URLs per WebSocket-Protokoll an das Backend weitergeleitet werden sollen. In der Standardkonfiguration stellt sich dies so dar:

...

# Delegate WebSocket requests to the Intrexx Portal Service.
#
location /ws/ {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}

# Delegate requests to the Intrexx Portal Service.
#
location / {
proxy_pass http://backend;

...

Hinweis Bei einem Upgrade von einer früheren Intrexx-Version muss die bestehende Konfiguratsdatei entsprechend angepasst werden, damit WebSockets genutzt werden können.

Weitere Informationen zu WebSockets finden Sie in Kapitel WebSockets.