[httpServer]
Definiert Optionen für den httpServer, der innerhalb eines CTRL Managers läuft
[httpServer] accessLog
- Typ
- bool
- Default
- 0
- Wertebereich
- 0|1
[httpServer] allowPanelParam
- Typ
- bool
- Default
- 0
- Wertebereich
- 0|1
[httpServer] autoEncryption
- Typ
- bool
- Default
- 1
- Wertebereich
- 0|1
[httpServer] compatIgnoreForwardedFor
- Typ
- bool
- Default
- 0
- Wertebereich
- 0|1
- 0: die ursprüngliche IP-Adresse des Browsers, auf dem der ULC UX Client läuft, wird aus dem HTTP-Header X-Forwarded-For gelesen und für myDisplayName() und UI-Einstellungen verwendet.
- 1: die IP-Adresse des Reverse Proxy wird für myDisplayName() und UI-Einstellungen verwendet (kompatibel zu Versionen vor 3.19 P009).
[httpServer] compressionCacheEnabled
- Typ
- bool
- Default
- 1
- Wertebereich
- 0|1
[httpServer] externalAuthHeader
- Typ
- string
[httpServer] externalAuthParam
- Typ
- string
[httpServer] favIcon
- Typ
- string
- Default
- /pictures/StandardIcons/Console_20.png
[httpServer] 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.
[httpServer] indexPage
- Typ
- string
- Default
- /data/index.html
[httpServer] loadBalance
- Typ
- string
- Wertebereich
- hostname [max=5]
Beispiel: loadBalance = "win10-140 max=10 exts=extern.etm.at:445 ext=extern.etm.at:82" loadBalance = "win10-141 max=10 exts=extern.etm.at:446 ext=extern.etm.at:83"
exts= wird dann verwendet, wenn die Verbindung verschlüsselt ist, also wenn per https:// gearbeitet wird.
ext= wird dem client (dem ULC JavaScript Teil) gesendet, wenn die Verbindung nicht verschlüsselt ist, also wenn per http:// gearbeitet wird.
Hinweis: In einem redundanten System, wenn dieser config Eintrag nicht angegeben ist, werden beide Redu-Server zur Lastverteilung herangezogen (falls der HTTP Server auf einem der beiden Redu-Server läuft). In diesem Fall ist es nötig, den CTRL Manager mit der Option -connectToRedundantHosts zu starten, da ansonsten der andere Server nicht weiss, dass der CTRL Manager läuft, da der Event Manager nur auf seinen lokalen connections dp schreibt.[httpServer] pngCompression
- Typ
- int
- Default
- 100
- Wertebereich
- 0..100
[httpServer] strictTransportSecurityMaxAge
- Typ
- uint
- Default
- 31536000 (= ~1 year)
[httpServer] uiArguments
- Typ
- string
- Default
- -p vision/login.pnl -centered -iconBar -menuBar
- -lang XXXX ... aktive Sprache für das UI, abhängig von der vom Web-Browser empfangenen gewünschten Sprache
- -server XXXXX ... Wenn der HTTP Server nicht auf dem selben Rechner wie der Event Manager läuft, so wird davon ausgegangen, dass der UI Manager die Projekt-Files (Panels, CTRL-Libs, etc.) nicht von der lokalen Platte lesen kann, sondern das UI wird sich hiermit die Files vom Hauptserver per HTTP Request laden. Dies benötigt einen laufenden HTTP Server auf dem Rechner auf dem der Event Manager läuft (im Falle eines redundanten Projektes müssen somit auf beiden Redu Rechnern jeweils ein HTTP Server laufen) Dieses Verhalten kann mit dem config Eintrag 'uiUsesMainServerAsFileServer = 0' deaktiviert werden
[httpServer] uiStartPermissionBit
- Typ
- int
- Default
- -1
[httpServer] uiUsesMainServerAsFileServer
- Typ
- bool
- Default
- 1
- Wertebereich
- 0|1
[httpServer] ulcAliveTimeout
- Typ
- uint
- Default
- 60
- Bei einem Wert von 0 wird kein Timeout angewandt
- Bei einem Wert der innerhalb des Intervalls [1..10] liegt wird ein Timeout von 10 Sekunden angewendet
- Wenn der Wert nicht gesetzt wird erfolgt ein Timeout nach 60 Sekunden
[httpServer] ulcUseClientTimeZone
- Typ
- bool
- Default
- 0 on Windows, 1 on all other platforms
- Wertebereich
- 0|1
- unvollständige historische Informationen über die Zeitzonen
- ungenaue oder fehlende Zeitangaben für die Wechsel zwischen Sommer- und Winterzeit
- keine Unterstützung der Sommerzeit auf der Südhalbkugel
[httpServer] 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 eignen 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.
[httpServer]
XFrameOptions = "ALLOW-FROM http://www.myFirstServer.com"
