Defines options for the httpServer running inside a CTRL manager
[httpServer] accessLog
- Type
- bool
- Default
- 0
- Range
- 0|1
Defines if the HTTP Server shall write the IP address of each incoming connection into
the log/httpAccess.log file
[httpServer] allowPanelParam
- Type
- bool
- Default
- 0
- Range
- 0|1
Defines if the HTTP Server shall allow the "panel" parameter in the URL to start the ULC
User Interface Manager.
[httpServer] autoEncryption
- Type
- bool
- Default
- 1
- Range
- 0|1
Defines if the HTTP Server shall automatically encrypt all files below the "panels" and
"scripts" folder, before sending them to the client. Note: This negatively influences
the transferred file size, since encrypted files will not shrink when compressed via gzip.
[httpServer] compatIgnoreForwardedFor
- Type
- bool
- Default
- 0
- Range
- 0|1
NV compatibility mode. Defines which IP address is used for ULC UX clients connected
through a reverse proxy:
- 0: the original IP address of the browser in which the ULC UX client is running will
be read from the HTTP header X-Forwarded-For and used for
myDisplayName() and UI settings.
- 1: the IP address of the reverse proxy is used for myDisplayName() and
UI settings (compatible to versions below 3.19 P009).
[httpServer] compressionCacheEnabled
- Type
- bool
- Default
- 1
- Range
- 0|1
Defines if the HTTP server shall send a gzip compressed file to a capable client, where
the HTTP server creates the gzipped version automatically and stores it below the
<proj_path>/cache directory. The HTTP server makes sure that a change in the
timestamp of the original file leads to an update of the compressed file in the cache the
next time the file is requested.
[httpServer] externalAuthParam
- Type
- string
Defines the name of a special URL query parameter which, when present, is used to
specifiy the user for this request, which was already authenticated by an external
application. The HTTP Server will therefore not do any authentication on this request and
relies on the external application to be trustable. NOTE: If used incorrectly, this
is a security leak.
[httpServer] favIcon
- Type
- string
- Default
- /pictures/StandardIcons/Console_20.png
Defines the relative path for the icon which is delivered when the server is asked for
"/favicon.ico".
[httpServer] indexPage
- Type
- string
- Default
- /data/index.html
Defines the start page which the HTTP server delivers when the root URL "/" was
requested. This is only used if the root URL "/" was not already registered with
httpConnect().
[httpServer] loadBalance
- Type
- string
- Range
- hostname [max=5]
Is used for load balancing of started ULC 2.0 User Interface Managers. This entry
can be used multiple times. Each entry defines an additional host, on which an HTTP server
is running, which is allowed to start a ULC 2.0 Users Interface Manager. The maximum number
of UI managers on this host can be defined with the max=x option. If the max option is not
given, 5 is the default.Example: 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= is used when the connection is encrypted, i.e. when working via https://.
ext= is sent to the client (the ULC JavaScript part) if the connection is not encrypted,
i.e. if http:// is used.
Note: In a redundant system, when this config entry is not given, the HTTP server uses both
redu-servers as load balancer hosts (when the HTTP server is running on either of the
servers). In this case it is required to run the HTTP Server CTRL Manager with
-connectToRedundantHosts, otherwise the other host does not know that a CTRL manager is
running as the Event manager only writes onto its local connections dp
[httpServer] pngCompression
- Type
- int
- Default
- 100
- Range
- 0..100
Sets the compression of the transferred png data. 0 = no compression (fast, but
uses more bandwidth), 100 = max compression (slower, uses less bandwidth)
[httpServer] strictTransportSecurityMaxAge
- Type
- uint
- Default
- 31536000 (= ~1 year)
Defines the value for the "max-age" parameter that should be used for the
Strict-Transport-Security of the HTTP server. If a value of 0 or no value is set the
Strict-Transport-Security is not used. Note: If there are problems with untrusted
certificates, this value can be set to 0. However, this will open a security leak.
[httpServer] uiArguments
- Type
- string
- Default
- -p vision/login.pnl -centered -iconBar -menuBar
Startparameter for the Ultralight Client 2.0. A UI Manager is being started,
therefore all commandline arguments, as when started from the console, can be used.
The HTTP Server always automatically passes the following commandline arguments in addition:
- -lang XXXX ... active language, uses the preferred language received from the
Web-Browser
- -server XXXXX ... When the HTTP server does not run on the same host as the Event
Manager, we assume that the UI manager can not read the project files (panels, CTRL-lib,
etc.) from the local disc. Therefore with this option the UI will request the files via
HTTP requests from the main server. This feature requires a running HTTP server on the
machine on which the Event Manager runs (in case of a redundant project, there must be
an HTTP server running on each of the redu hosts) You can disable this behavior
with the config entry 'uiUsesMainServerAsFileServer = 0'
[httpServer] uiStartPermissionBit
- Type
- int
- Default
- -1
Defines the permission bit a user needs to have set to be allowed to start the ULC 2.0
client. To know the user of an HTTP request, the HTTP Server must be used with
authentication (e.g. "Basic", "Negotiate")
[httpServer] uiUsesMainServerAsFileServer
- Type
- bool
- Default
- 1
- Range
- 0|1
Defines if the HTTP Server, when run on a different machine than the Event Manager, shall
pass the -server XXX option to the ULC 2.0 User Interface started to be able to request
project files from the main server via HTTP requests instead of reading project files from
the local disc. However, it is recommended to keep project files locally on the HTTP Server
and to set this option to 0, as described in the ULC UX Architecture documentation
[httpServer] ulcAliveTimeout
- Type
- uint
- Default
- 60
The timeout in seconds after the UI manager for an unresponsive ULC UX client (e.g. if
there is a network interruption) is terminated by the server.
- If 0, no timeout is checked
- If the value is part of the interval [1..10], 10 seconds is used as the timeout
value
- The default value if not specified is 60 seconds
[httpServer] ulcUseClientTimeZone
- Type
- bool
- Default
- 0 on Windows, 1 on all other platforms
- Range
- 0|1
Defines the timezone used to display time values in ULC UX clients. If set to 1(true) the
time zone from the ULC UX client is used, with 0(false) the server's time zone is
used. Due to the limited support for a different time zone for a single process in
Windows the default is set to 0 for those systems. Should ulcUseClientTimeZone be set
to 1 in Windows the following problems may occur:- incomplete historical information about time zones
- inaccurate or missing dates for transitions between standard and daylight saving time
(DST)
- no DST support for the Southern hemisphere
[httpServer] XFrameOptions
- Type
- string
- Default
- SAMEORIGIN
- Range
- none
A security measurement prevents to load content from a different website. This is called
"clickjacking" protection. To nevertheless load the content of the foreign server
inside your own website the HTML Header parameter X-Frame-Options can be used to configure
the expected behavior. This parameter must be set on the remote server and contain the
URL of your server to display the foreign content on your server. There are 4 different options available for the XFrameOptions config entry:- "none": is used to completely deactivate this option
- "DENY": Foreign content is not loaded.
- "SAMEORIGIN": Only content from your own server is loaded.
- "ALLOW-FROM": Only the content is loaded for which the X-Frame-Options HTML Header
parameter is set correctly. Must be configured on the foreign server!
Example: First server: www.myFirstServer.com Second server: www.mySecondServer.com To display the content from the second server within the first server (e.g. using an
iframe) the second server must state the parameter "XFrameOptions: ALLOW-FROM
http://www.myFirstServer.com" within the HTML header. This can be configured by setting
following config entry within the config of the second webserver. [httpServer] XFrameOptions = "ALLOW-FROM http://www.myFirstServer.com"