Definiert Optionen für webserver.js, den Node.js-basierten Webserver der innerhalb eines
JavaScript Managers läuft.
[webserverjs] accessControlAllowOrigin
- Typ
- string
Definiert eine Liste von URLs die bei einem CORS request als "origin" erlaubt sind.
Für jeden erlaubten URL muss eine eigene Zeile hinzugefügt werden.
Beispiel:
accessControlAllowOrigin = "https://redu1:8443"
accessControlAllowOrigin = "https://redu2:8443"
Wenn dieser config-Eintrag verwendet wird, darf kein config-Eintrag "httpHeader" für
den HTTP header "Access-Control-Allow-Origin:" verwendet werden.
[webserverjs] allowExternalResources
- Typ
- bool
- Default
- 0
- Wertebereich
- 0|1
Definiert ob webserver.js das Einbetten von externen Ressourcen (z.B. ULC UX Frames) von
einem anderen Host und/oder Port in das Dashboard erlaubt.
[webserverjs] canEditPermissionBit
- Typ
- int
- Default
- 3
- Wertebereich
- 1..32
Definiert das Benutzer-Berechtigungsbit, das ein Dashboard-Benutzer benötigt, um
Dashboards zu editieren.
[webserverjs] canPublishPermissionBit
- Typ
- int
- Default
- 4
- Wertebereich
- 1..32
Definiert das Benutzer-Berechtigungsbit, das ein Dashboard-Benutzer benötigt, um
Dashboards zu publizieren.
[webserverjs] canWritePermissionBit
- Typ
- int
- Default
- 4
- Wertebereich
- 0..32
Definiert das Benutzer-Berechtigungsbit, das ein Dashboard-Benutzer benötigt, um
Schreibzugriff auf Datenpunkte zu bekommen. Wenn der Wert auf 0 gesetzt wird, ist der
Schreibzugriff für alle Dashboard-Benutzer gesperrt.
[webserverjs] dashboardSharedLicenses
- Typ
- uint
- Default
- 0
- Wertebereich
- >=0
Definiert die Anzahl der Dashboard Desktop Lizenzen, die für mobile Clients verwendet
werden können, falls keine weiteren Dashboard Mobile Lizenzen mehr frei sind.
[webserverjs] diskCheckDp
- Typ
- string
- Default
- "_ArchivDisk"
Definiert den Namen des Datenpunkts, mit dem der verfügbare Platz für Dateien, die über
den WebSocket-Server hochgeladen werden, abgefragt wird. Muss vom Datenpunkttyp
_DiskSpaceCheck sein. Siehe auch DP_DiskCheck im Abschnitt
[data].
[webserverjs] diskCheckLimit
- Typ
- int
Definiert den Speicherplatz in kB auf der Server-Disk, der verfügbar sein muss, um Dateien
über den WebSocket-Server hochladen zu können. Wenn dieser Wert nicht konfiguriert ist, wird
der Grenzwert für die Warnung des Datenpunkts verwendet, der unter diskCheckDp
definiert ist.
[webserverjs] favIcon
- Typ
- string
- Default
- /pictures/StandardIcons/Console_20.png
Definiert den relativen Pfad zum Icon, welches bei Anfrage nach "/favicon.ico" geliefert
wird.
[webserverjs] heartbeatSeconds
- Typ
- int
- Default
- 5
Gibt an, in welchem Interval (in Sekunden) Heartbeat-Nachrichten von webserver.js an alle
verbundenen Clients geschickt werden. Dadurch können Verbindungsunterbrechungen schneller
erkannt werden, auch wenn keine regulären Nachrichten gesendet werden. Wird dieser Wert auf
0 gesetzt, werden keine Heartbeat-Nachrichten gesendet.
[webserverjs] httpsPort
- Typ
- int
- Default
- 8443
Definiert den Port, der von webserver.js für eingehende HTTPS- und
WSS-Verbindungen geöffnet wird. webserver.js unterstützt ausschließlich verschlüsselte
Verbindungen, daher gibt es keinen config-Eintrag für einen ungesicherten HTTP-Port.
[webserverjs] indexPage
- Typ
- string
- Default
- /data/index.html
Definiert die Startseite, die webserver.js liefern soll, wenn die root URL "/"
angefragt wird.
[webserverjs] jwtWssPort
- Typ
- uint
- Default
- 8443
- Wertebereich
- >0
Das von webserver.js ausgestellte Token, mit dem sich ein Client am WebSocket-Server
anmelden kann, enthält auch die Port-Nummer, mit der die WSS-Verbindung aufgebaut werden
soll. Per default ist das der Port, mit dem webserver.js konfiguriert und gestartet wurde.
Mit diesem Eintrag kann eine andere Port-Nummer definiert werden, die im Token eingetragen
wird. Das ist z. B. notwendig, wenn webserver.js sich hinter einem Gateway oder Proxy
befindet und der Server dadurch über eine andere Port-Nummer erreichbar ist.
[webserverjs] loginPermissionBit
- Typ
- int
- Default
- 1
- Wertebereich
- 1..32
Definiert das Benutzer-Berechtigungsbit, das ein Dashboard-Benutzer benötigt, um
sich anzumelden.
[webserverjs] resourceName
- Typ
- string
- Default
- /websocket
Definiert den Pfad (Teil des URLs) zum WebSocket-Server für einkommende Verbindungen.
[webserverjs] strictTransportSecurityMaxAge
- Typ
- uint
- Default
- 31536000 (= ~1 year)
Legt den Wert für den "max-age" Parameter fest der für die Strict-Transport-Security von
webserver.js verwendet wird. Wenn der Wert 0 oder kein Wert gesetzt wurde wird die
Strict-Transport-Security nicht verwendet. Hinweis: Sollten Probleme mit untrusted
Zertifikaten auftreten, kann dieser Wert auf 0 gesetzt werden. Dies öffnet jedoch ein
Sicherheitsleck.
[webserverjs] tokenAutoRefresh
- Typ
- bool
- Default
- 0
- Wertebereich
- 0|1
Wenn "tokenExpireWarning" auf einen Wert ungleich 0 gesetzt wurde, wird eine Verbindung
nach einer Warnung geschlossen, wenn ein Token abläuft und der Client kein erneuertes Token
sendet. Im einfachsten Fall kann eine automatische Erneuerung mit diesem Eintrag aktiviert
werden: wenn der Client zum Zeitpunkt der Warnung ein noch gültiges Token an den Server
schickt, wird es automatisch verlängert. NB: In einer typischen Konfiguration werden
detaillierte Überprüfungen implementiert, bevor ein Token verlängert wird.
[webserverjs] tokenExpire
- Typ
- uint
- Default
- 600
- Wertebereich
- 5..28800
Definiert den Zeitraum in Sekunden, in dem ein von webserver.js ausgestelltes Token zur
Authentifizierung gültig ist. Defaultwert ist 10 Minuten,
möglicher Wertebereich ist von 5 Sekunden bis 8 Stunden.
[webserverjs] tokenExpireWarning
- Typ
- uint
- Default
- 0
- Wertebereich
- 0, 5..600
webserver.js kann eine Verbindung automatisch schließen, wenn die Gültigkeitsdauer
des Authentifizerungs-Token abläuft. Bevor das passiert, wird eine
Warnung an den Client geschickt, um ihm eine Möglichkeit zu geben, das Token zu erneuern.
Diese Einstellung definiert, wie viele Sekunden (ungefähr) vor dem Schließen der Verbindung
diese Warnung geschickt wird. Ist diese Einstellung auf 0 gesetzt (default), wird die
Verbindung nicht automatisch geschlossen, und deshalb auch keine Warnung geschickt. In
diesem Fall wird die Gültigkeitsdauer des Tokens nur beim Öffnen einer Verbindung
überprüft.
[webserverjs] ulcUxHost
- Typ
- string
- Default
- localhost
Definiert den Hostnamen des HTTP Servers, der webclient_http.ctl ausführt, an
den ULC UX Anfragen weitergeleitet werden. Der Defaultwert ist der Hostname des Servers,
auf dem webserver.js läuft.
[webserverjs] ulcUxPort
- Typ
- int
Definiert den Port des HTTP Servers, der webclient_http.ctl ausführt, an den
ULC UX Anfragen weitergeleitet werden.
[webserverjs] useSharedWorker
- Typ
- bool
- Default
- 0
- Wertebereich
- 0|1
Gibt an, ob Frontends, die sich mit diesem Server verbinden, einen SharedWorker (1) oder
WebWorker (0) verwenden sollen.
[webserverjs] wssServerAddress
- Typ
- string
Dieser Eintrag definiert externe Adressen, unter denen webserver.js
erreichbar ist (z. B. hinter einem Proxy). Dieser Eintrag kann mehrfach verwendet werden.
Die erste angegeben Adresse wird im Authentifizierungs-Token mitgeschickt und sollte dem
Server entsprechen, der auf dem lokalen System läuft. Alle angegeben Adressen werden
von Clients verwendet, um bei einem Verbindungsabbruch alternative Server zu finden.
Wenn kein solcher Eintrag existiert, wird die Liste der verfügbaren Server dynamisch
aktualisiert, wobei die lokalen Adressen verwendet werden.
[webserverjs] XFrameOptions
- Typ
- string
- Default
- SAMEORIGIN
- Wertebereich
- none
Eine Sicherheitsmaßnahme verbietet, Inhalte von einer anderen Webseite einzubetten. Man
spricht auch von "clickjacking" Protection.
Um trotzdem Inhalte von einem fremden Server auf der eigenen verwalteten Webseite
anzuzeigen, gibt es den HTML Header Parameter X-Frame-Options der dieses Verhalten
konfigurierbar macht.
Dieser Parameter muss am fremden Server gesetzt sein und die URL des eigenen Server
beinhalten um fremde Inhalten auf den eigenen Server darstellen zu können.
Es gibt vier verschiedene Optionen für diesen Config-Eintrag:
- "none": deaktiviert den XFrameOptions-Eintrag.
- "DENY": Fremde Inhalte von einem fremden Server werden nicht geladen.
- "SAMEORIGIN": Es werden nur Inhalte vom eigenen Server geladen.
- "ALLOW-FROM": Es können nur Inhalte geladen werden für welche der X-Frame-Options HTML
Header Parameter korrekt gesetzt wurde. Muss am fremden Server konfiguriert werden.
Beispiel:
Erster Server: www.myFirstServer.com
Zweiter Server: www.mySecondServer.com
Um den Inhalt des zweiten Servers innerhalb des ersten Servers anzuzeigen (z.B. mittels
iframe) muss der zweite Server innerhalb des HTML Headers die der Parameter
"XFrameOptions: ALLOW-FROM http://www.myFirstServer.com" mitliefern. Dies kann über
folgenden Eintrag innerhalb der Config des zweiten Webservers konfiguriert werden.
[webserverjs]
XFrameOptions = "ALLOW-FROM http://www.myFirstServer.com"