Adding or modifying parameters in the configuration file is considered an advanced configuration change. Most installations don't require any additional parameters, nor do they require modification to existing parameters. We generally discourage most users from making changes to parameters in the configuration file, as doing so could result some unintended behavior or security vulnerabilities. We list the parameters on this page for the sake of transparency.
If you choose to add or modify parameters in the the configuration file, you do so at your own risk.
A section of the configuration file contains a header stating "Java Additional Parameters". This section allows for a large number of configuration changes, and merits having some discussion on how to add new parameters. On install, the Java Additional Parameters section may look like the following:
# Java Additional Parameters wrapper.java.additional.1=-Ddata.dir=data #wrapper.java.additional.2=-Xdebug #wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000
When adding a new parameter, the "
wrapper.java.additional.#" prefix must be added to a new line. Each parameter contains a prefix ("
wrapper.java.additional.#"), a key, and a value that the key will be set to. Generally speaking, each parameter in the file should follow the pattern below:
Uncommented parameters should be listed in ascending numerical order, based on the number at the end of the prefix, as shown below.
# Add parameters like this: wrapper.java.additional.1=-Ddata.dir=data #wrapper.java.additional.2=-Xdebug #wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000 wrapper.java.additional.2=-some.thing=foo wrapper.java.additional.3=-some.other.thing=bar # Avoid skipping commented numbers: wrapper.java.additional.1=-Ddata.dir=data #wrapper.java.additional.2=-Xdebug #wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000 wrapper.java.additional.4=-some.thing=foo
Gateways use more secure security headers. The default settings are listed below, along with their associated keys. These parameters mainly impact Perspective sessions, as well as any pages hosted on Ignition's web server.
HTTP headers used by the Gateway are configurable via the ignition.conf file in the Gateway's installation directory. In most cases there won't be a need to modify the new default values. However, if you're embedding a Perspective session inside of an iframe from another origin, and it stops working after upgrade, then take a look at this Knowledge Base Article for more details.
The following keys interact with the Strict-Transport-Security header. Enabling the header involves setting the
Dignition.https.sts.maxAge key to a non-zero value. By default, the header is disabled.
Sets the maximum age of the Strict Transport Security header. The value should be set to an integer, representing a number of seconds.
|Applies the |
This parameter allows websites to tell the browser to only connect using HTTPS. It can be set to "
wrapper.java.additional.1=-Dignition.https.sts.maxAge=5000 wrapper.java.additional.2=-Dignition.https.sts.includeSubDomains=false wrapper.java.additional.3=-Dignition.https.sts.preload=true
The following keys interact with the Referrer-Policy header: By default, the header is enabled with a value of
Allows you to enable or disable the Referrer-Policy header. Expects a
Sets the value of the Referrer-Policy.
The following keys interact with the X-Content-Type-Options header: By default, the header is enabled with a value of
Allows you to enable or disable the X-Content-Type-Options header. Expects a
Determines the value of the X-Content-Type-Options.
The following keys interact with the X-Frame-Options header: By default, the header is enabled with a value of
Enables or disables the X-Frame-Options header.
Determines the value of the X-Frame-Options header
The following keys interact with the X-XSS-Protection header. By default, the header is enabled with a value of
Enables or disables the X-XSS-Protection header.
Determines the value of the X-XSS-Protection header.
wrapper.java.additional.1=-Dignition.http.header.x_xss_protection.enabled=true wrapper.java.additional.2=-Dignition.http.header.x_xss_protection.value=1; mode=block
You can remove the compression header for perspective web socket connections.
This parameter is generally only used in cases where a Microsoft IIS based firewall is acting like a reverse proxy, and needs to be able to rewrite secure web-socket messages.
By default, the maximum size is kept low on the default installation to prevent DoS attacks. We do not recommend changing this, especially so if the Gateway isn't in a closed network.
This parameter allows you limit the amount of data that can be posted back from a browser or other client, to the Gateway. Generally, this is useful to increase the maximum size for WebDev POST requests. More information about this parameter can be found in Jetty's documentation.
Normally, each Ignition Gateway includes files for the various launchers. When you download a launcher from a Gateway, it simply streams its local launcher files. However, you can override this behavior, causing the Gateway to ignore it's local launcher files and instead download launchers from the internet. This is an uncommon configuration for most cases, as it was devised primarily to aid with systems where memory limitations are strict (such as physical devices that include preinstalled Ignition Gateways).
The following parameter (and value) enables the use of hosted launchers. While enabled, the Gateway will only ever attempt to retrieve the hosted launchers, meaning it will ignore the local launcher files.
By default, enabling Hosted Launchers will cause the Gateway to retrieve launchers version appropriate launchers: 8.0.0 launchers for 8.0.0 Gateways, 8.1.0 launchers for 8.1.0 Gateways, etc.
The parameter below can be used to explicitly state which launcher version to retrieve. Generally, this is not recommended, but can potentially be useful if you're looking for a specific launcher version. It requires that
-Dignition.hostedLaunchers is set to "true".
You can specify which edition of Ignition a Gateway should be set to with the parameter demonstrated below.
Ignition Gateway Licenses are matched to a specific edition. Changing the edition of an Ignition Gateway that is already licensed can result in the license becoming invalidated. It's recommended that you unactivate a license on a gateway before changing its edition.
The Ignition Tag Historian stores and queries data in a particular way. When a Tag has Tag History enabled on it, an entry is generated for this Tag inside the sqlth_te table in your database. This Tag's Tag path, along with other Tag attributes, are stored in this table. Every Tag entry in the sqlth_te table has a unique Tag id which is used by the Tag Historian to identify each Tag. Whenever we make any type of change to this Tag's historical configurations, such as its Tag Group for instance, the current sqlth_te table entry for this Tag becomes retired and a new, unretired entry for this Tag gets created with a new Tag id. Due to this dynamic, it is common for a Tag path in the sqlth_te table to be associated with more than one Tag id. When a Tag History query executes for a specific Tag, a check is made against the sqlth_te table for all the Tag id's that match this Tag's Tag path. These Tag id's are then used to build a dynamic SQL query like the one shown below:
SELECT "tagid", "intvalue", "floatvalue", "stringvalue", "datevalue", "t_stamp", "dataintegrity" FROM sqlth_1_data WHERE "t_stamp" >= 1580680800000 AND "t_stamp" <= 1581026400000 AND ( "tagid" = 14568 OR "tagid" = 14571 OR "tagid" = 14572 ) ORDER BY "t_stamp" ASC, "tagid" ASC
When we query Tag history for a Tag with three Tag id's associated with its Tag path, the system uses repetitive OR clauses to account for all the Tag id's for this Tag. Additional OR clauses in this fashion can be hard for databases to optimize. For this reason, we changed the query generating mechanism to use the IN operator like so:
SELECT "tagid", "intvalue", "floatvalue", "stringvalue", "datevalue", "t_stamp", "dataintegrity" FROM sqlth_1_data WHERE "t_stamp" >= 1580680800000 AND "t_stamp" <= 1581026400000 AND "tagid" IN (14568, 14571, 14572) ORDER BY "t_stamp" ASC, "tagid" ASC
The use of the IN operator allows for better database side query optimization. Users who want to change their historian to use the old query constructor with OR operators can do so by placing the following system flag in the ignition.conf file:
It is possible to adjust the refresh rate of the System Tag Provider's System Tags. To do so, add the following system flag in the ignition.conf file:
Where "####" is the rate in milliseconds that the Tags should refresh at. Default refresh rate is 5000 milliseconds.