[webserverjs]
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
[webserverjs] canEditPermissionBit
- Typ
- int
- Default
- 3
- Wertebereich
- 1..32
[webserverjs] canPublishPermissionBit
- Typ
- int
- Default
- 4
- Wertebereich
- 1..32
[webserverjs] canWritePermissionBit
- Typ
- int
- Default
- 4
- Wertebereich
- 0..32
[webserverjs] diskCheckDp
- Typ
- string
- Default
- "_ArchivDisk"
[webserverjs] diskCheckLimit
- Typ
- int
[webserverjs] favIcon
- Typ
- string
- Default
- /pictures/StandardIcons/Console_20.png
[webserverjs] heartbeatSeconds
- Typ
- int
- Default
- 5
[webserverjs] httpHeader
- Typ
- string
- Default
- See Description
httpHeader = "X-XSS-Protection: 1; mode=block"
httpHeader = "X-Content-Type-Options: nosniff"
httpHeader = "Cache-Control: private"
httpHeader = "Cache-Control: must-revalidate"
Um alle HTTP Header Einträge (inklusive des Default Werte) zu entfernen kann folgender Eintrag gesetzt werden:
httpHeader = "-empty list-"
Hinweis: Mandatory Header Einträge werden dadurch nicht entfernt.
[webserverjs] httpPort
- Typ
- int
- Default
- 0
Definiert den Port, der von webserver.js für eingehende unverschlüsselte HTTP-Verbindungen geöffnet wird. Beim Defaultwert 0 ist der Eintrag deaktiviert und webserver.js lauscht ausschließlich auf dem über httpsPort definierten Port. Wird ein Port > 0 definiert, startet zusätzlich ein zweiter Listener für reines HTTP, der parallel zum HTTPS-Listener läuft und dieselben Routen anbietet. Der Port muss sich von httpsPort unterscheiden.
Beachten Sie, dass WSS-Verbindungen (Node-RED und Dashboard) über diesen Port nicht unterstützt werden und dass unverschlüsselte Verbindungen ein Sicherheitsrisiko darstellen.
[webserverjs] httpsPort
- Typ
- int
- Default
- 8443
[webserverjs] indexPage
- Typ
- string
- Default
- /data/index.html
[webserverjs] jwtWssPort
- Typ
- uint
- Default
- 8443
- Wertebereich
- >0
[webserverjs] loginPermissionBit
- Typ
- int
- Default
- 1
- Wertebereich
- 1..32
[webserverjs] resourceName
- Typ
- string
- Default
- /websocket
[webserverjs] servicesDrainTimeoutMs
- Typ
- uint
- Default
- 30000
[webserverjs] servicesEnabled
- Typ
- bool
- Default
- 1
- Wertebereich
- 0|1
[webserverjs] servicesWatchDebounceMs
- Typ
- uint
- Default
- 1000
[webserverjs] servicesWatchEnabled
- Typ
- bool
- Default
- 1
- Wertebereich
- 0|1
[webserverjs] strictTransportSecurityMaxAge
- Typ
- uint
- Default
- 31536000 (= ~1 year)
[webserverjs] tokenAutoRefresh
- Typ
- bool
- Default
- 0
- Wertebereich
- 0|1
[webserverjs] tokenExpire
- Typ
- uint
- Default
- 600
- Wertebereich
- 5..28800
[webserverjs] tokenExpireWarning
- Typ
- uint
- Default
- 0
- Wertebereich
- 0, 5..600
[webserverjs] ulcUxHost
- Typ
- string
- Default
- localhost
[webserverjs] ulcUxPort
- Typ
- int
[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"
