Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

General

The configuration of the Connect Server is usually done with the help of configured using JSON files, which are located in the installation directory of the application. In special cases, overriding via environment variables or via command line parameters is possible.

...

The default configuration is located in the file "appsettings“appsettings.Default.json"json” file. This file should not be changed directly, as because these changes may be overwritten by a later upgrade.

...

If an installation-specific configuration is to be created, it is recommended to copy the file "appsettings.Default.json" into a file with the name "appsettings.json". This file will not be overwritten in the event case of an upgrade, so the configuration settings stored here will remain.

The default configuration is still taken into account here. The considered, the installation-specific configuration must therefore only contain the desired deltas.

...

If an installation directory is used in different environments (e.g., in a template for containers), environment-specific configurations can be created. For this purpose, the file "appsettings.Default.json" is converted copied into a file with the name "appsettings.{environment}.json" ({environment} must has to be replaced by the name of the corresponding environment).

...

The default configuration and any existing installation-specific configuration are still taken into account. The considered, the environment-specific configurations must therefore only contain the desired deltas.

...

If required, additional configuration files can be specified in on the command line via using the argument "settings=...", "-settings=...", "--settings=..." or "/settings=...". The system checks whether the specified configuration file exists and displays an error message if it doesis not found. This check can be deactivated by appending a question mark to the file name. This also allows optional configuration files to be specified on the command line.

The default configuration as well as the installation-specific configuration and the environment-specific configuration(s) are still taken into accountconsidered. In this case, the explicit configurations only need have to contain the desired deltas.

...

The configuration file for the Connect Server is a JSON file with a JSON object as the root element. The corresponding child elements are described in the following chapters.

The

...

“Logging” section (JSON object)

This section contains another JSON object named "LogLevel", which defines the level of detail of the log outputoutputs. The property "Default" contains the standard setting, other existing properties define different settings for certain .NET namespaces. The following values are supported for the level of detail: "Trace", "Debug", "Information", "Warning" and "Error".

...

If required, the level of detail can be specified depending on the logging target (console, event log, etc.). Further information can be found under the following link:

...

The

...

“IdentityServer” section (JSON object)

This section provides configurations for the Connect Server's built-in Identity Server . This is responsible used for authenticating users. The default configuration is useful for development environments or for closed networks , as since it does not require any further settingsadditional adjustments. However, if the Connect Server is to be accessible via the Internet, these settings should definitely be adjusted. You can find more adapted. More information about this under can be found at the following link:

...

Example:

...
"IdentityServer": {
}, "key": {
"type": "development"
},
"clients": {.
"GalileoGroup.Connect.Server.Frontend": {
"Profile": "IdentityServerSPA"
}
}
},
...

The

...

“AllowedHosts” section (JSON value of type String)

This section allows you to restrict the host names to which the web server can be is bound. Thus, access via unwanted host names or via IP addresses can be prevented. Multiple values can be separated by a semicolon. For more information, see the following link:

...

...
"AllowedHosts": "connect.mycompany.com;localhost",
...

The

...

“Connect” section (JSON object)

This section summarizes all Connect Framework specific configurations.

The

...

“Connect/

...

Server” section (JSON object)

This section contains all settings related to the integrated server functionalities.

...

This value specifies the base URI under which the Connect server can be reached externally. The URI specified here does not necessarily have to correspond to an endpoint of the web server; it can also be an externally accessible reachable URI that is forwarded by a router to one of the endpoints of the web server.

...

Property

Type

Function

EnableHttpRequestLogging

Boolean

Enables logging of all incoming http requests.

The

...

“Passwords” section (JSON object)

This section has no functionality in the current version of Connect Server. In future versions, the parameters for reversible encryption of the passwords for SSL certificates and connection strings can be defined here, so that they no longer have need to be stored in plain text.

The

...

“Paths” section (JSON object)

In this section , variables can be defined for use in file paths can be defined. Subsequent variables can use previously defined variables. Regardless of the operating system, the character "/" character must always be used as a directory separator between directories.

The following variables are predefined by the Connect Framework, but can be redefined:

...

These defaults are always used if no other variable value is defined or if the variable has been assigned the value "auto"“auto”.

For use within a file path, the path variables must be enclosed in curly bracketsbraces.

The

...

“Database” section (JSON object)

This section contains configuration data for the connection connecting to the databases used by the application. For each database, a child JSON object must be created whose name corresponds to the internal ID of the associated database. The Connect Server currently uses the following databases:

...

Property

Type

Function

Type

String

Type of database. Normally "Sqlite" is used here, "SqlServer" is currently supported experimentally. Support for "MySql" is planned, but currently the final implementation of the EF Core Adapter for .NET 5.0 is not yet available.

ConnectionString

String

The connection string for the database to use.

LogLevel

String

The desired level of detail for database-specific log output. The values "Trace", "Debug", "Information", "Warning" and "Error" are supported.

EnableSensitiveDataLogging

Boolean

If this value is set to "true", field contents are also output during logging, otherwise they are always suppressed.

EnableDetailedErrors

Boolean

If this value is set to "true", detailed error messages from the database are output during logging.

The

...

"SupportedLanguages" section (JSON array with values of type String)

This section defines the languages that can be selected in the dialog for maintaining language-dependent texts. Both generic language keys (such as "en" or "de") and arearegion-specific language keys (such as "en-US", "en-UK", "de-DE" or "de-AT") are supported.

The "Web ServerWebServer" section (JSON object)

This section is used to configure the integrated web server. The following values can be stored here:

Property

Type

Function

Type

String

To use the integrated web server, use the value "Kestrel" should be set here. Since this is the state default setting, the value "Kestrel" is assumed even also used if this property is missing.

On Windows, the value "IIS" can also be used to enable hosting within IIS. In this casescenario, the mode for hosting within an IIS is activated. The endpoints configured here have no functionality in IIS modeare ignored, as these are defined via the bindings in IIS.

You can find more information about hosting in IIS under the following link:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-5.0

RootPath

String

Specifies the root directory of the web server. It is recommended not to change this value, as this may cause page effects when hosting the WebAssembly based frontend.

Endpoints

Array

This array of JSON objects specifies the endpoints of the integrated web server. The property "Uri" contains the URI of the desired endpoint. Schema and host are mandatory, the specification of a port is optional. If no port is specified, the respective default ports (80 for HTTP and 443 for HTTPS) are used. If no IP address is specified as the host, the specified name is converted into an IP address using DNS lockup. The IP addresses 0.0.0.0 or * represent all available IP addresses of the server.

When using HTTPS, the property "CertificateSource" must also be specified, which can have different values. Which value must be specified is defined by where the certificate is located. If the certificate is located in the store, the value must correspond to the requestor. For example, if the requestor of the certificate is "CN = localhost", the value for "CertificateSource" must be "localhost".

The direct path to a certificate or its file name can also be specified. If only a file name is specified, this is searched for in the path defined by the "CertificatePath" path variable. For this the value can be e.g. like "test.cer|" or "test.cer|NochEinPassword". Here "test.cer" is the filename of the certificate and "NochEinPassword" is the password to access the private key of the certificate. The separator "|" is mandatory, no matter if a password is entered or not. If there is no password, the value ends with a "|".

The use of multiple certificates on the same endpoint is currently not supported. If an endpoint can be reached via different hostnames, these must be listed in a certificate. Wildcard certificates are supported without restrictions.

Special

...

considerations when configuring the Identity Server

...

In the default configuration, the Connect Server uses the Identity Server to authenticate and authorize users. There is one configuration variant that differs from the defaultstandard:

If a value with the name "AutoCreate" and the value "true" is created within the "Key" sectionthe "Key" section, then, if the referenced certificate file does not exist, a self-signed certificate is generated on startup if the referenced certificate file does not existat startup. This behavior essentially serves to enable is primarily intended to allow the server to be started start without manual intervention in the configuration changes.

Example:

...
"IdentityServer": {
}, "key": {
{ "type": "file",
"FilePath": "connect.pfx",
"Password": "Connect!",
"AutoCreate": true
},
...

If there is no file with the name "connect.pfx" in the directory specified under "CertificatePath", a self-signed certificate is created at startup and saved under stored using this name. The password "Connect!" stored specified here is used for the encryption of the private key.

...

The configuration settings stored in the JSON files can be overridden if necessary. This approach makes sense especially when automating Docker-based environments.

...

Overriding using environment variables

To override the value of a configuration setting , an environment variable can be defined with the prefix "DOTNET_" or "ASPNETCORE_" followed by the path of to the setting in the JSON file. A double underscore (__) should be used here as the path separator.

You can find more information on this topic under at the following link:

...

Example:

...

If required, configurations can also be overridden using key - value pairs as command line parameters. The name here corresponds to the path of to the setting , using the ":" character as the path separator. Key - value pairs can be specified in various ways:

...

You can find more information on this topic under at the following link:

...

Example:

...