⚠ Important: The address IP or the name DNS server where the ConServer it must remain fixed.
If the IP or the DNS change after installation, agents they will lose connectivity, being necessary Reinstall or reconfigure them to re-establish communication.
1. During Conserver installation, if you keep the default path, the files will be saved in C:\Program Files\Aranda\Conserver. If you select a different path, the files will be in the location you define. Then, configure the file appsettings.json. in the following way to communicate with the Repserver:
| AppSettings Settings | |
|---|---|
| add key=”Serilog:MinimumLevel” value=”Debug” | Used to set the minimum level of event logging for the Serilog log library. |
| add key=”Serilog:WriteTo:0:Name” value=”File” | Used to specify the first log target to be used for Serilog. The value “File” indicates that log events will be written to a file. |
| add key=”Serilog:WriteTo:0:Args:path” value=”Logs\log.txt” | It is used to specify the path and name of the file where log events will be written. |
| add key=”Serilog:WriteTo:0:Args:shared” value=”true” | It is used to specify whether the log file should be shared by multiple processes or not. |
| add key=”Serilog:WriteTo:0:Args:rollingInterval” value=”Day” | Used to specify the time interval at which new log files are created. |
| add key=”Logging:LogLevel:Default” value=”Information” | It is used to set the default logging level for the Microsoft logging library. |
| add key=”serverAddress” value=”” | Address where the Repserver is located |
| add key=”CertificateSubject” value=”” | Identifier name of the certificate to be used by Conserver |
| add key=”enableProxy” value=”false” | If you use Proxy, the enableProxy tag is enabled with a value of “true” |
| add key=”proxyAddress” value=”” | Proxy address |
| add key=”proxyUser” value=”” | Proxy User |
| add key=”proxyPassword” value=”” | Proxy Password |
| add key=”privateIp” value=”” | Identifier on the internal network of the Conserver, should ia the ip |
| add key=”publicIp” value=”” | Conservar network identifier from the outside, the ip must go. (In case it is not required, the same private address is used) |
| add key=”mqttServerPort” value=”1884” | MQTT Communication port, by default “1884” is parameterized |
| add key=”mqttIp” value=”” | Mqtt identifier on the internal network, the IP must go |
| add key=”publicServerPort” value=”80” | Conserver’s public network communication port, by default “80” is parameterized. |
| add key=”privateServerPort” value=”80” | Conserver’s private network communication port, by default “80” is parameterized. |
| add key=”maxDistributionSleepMsPerThread” value=”8” | - |
| add key=”maxDistributionThreads” value=”4” | These last two tags are used for the internal functioning of the system, they must be modified. |
| add key=”EnableSecurityPrivateIp” value=”false” | Enables security validation for connections made using private IP addresses. |
| add key=”EnableSecurityPublicIp” value=”false” | Enables security validation for connections made using public IP addresses. |
| add key=”SecondsPingRemoteServer” value=”60” | Interval, in seconds, to check the availability of the remote server. |
<appSettings>
<add key="Serilog:MinimumLevel" value="Debug" />
<add key="Serilog:WriteTo:0:Name" value="File" />
<add key="Serilog:WriteTo:0:Args:path" value="Logs\\Conserver-%COMPUTERNAME%.log" />
<add key="Serilog:WriteTo:0:Args:shared" value="true" />
<add key="Serilog:WriteTo:0:Args:rollingInterval" value="Day" />
<add key="Logging:LogLevel:Default" value="Information" />
<add key="serverAddress" value="" />
<add key="CertificateSubject" value="" />
<add key="enableProxy" value="false" />
<add key="proxyAddress" value="" />
<add key="proxyUser" value="" />
<add key="proxyPassword" value="" />
<add key="privateIp" value="" />
<add key="publicIp" value="" />
<add key="mqttServerPort" value="1884" />
<add key="mqttIp" value="" />
<add key="privateServerPort" value="80" />
<add key="publicServerPort" value="80" />
<add key="maxDistributionSleepMsPerThread" value="8" />
<add key="maxDistributionThreads" value="4" />
<add key="EnableSecurityPrivateIp" value= "false" />
<add key="EnableSecurityPublicIp" value= "false" />
<add key="SecondsPingRemoteServer" value="60" />
</appSettings>
2. Start the service Aranda Conserver V9, to allow communication with the Repserver.

—
Configuring the conserver to receive requests over https
To configure the conserver to receive https requests, https must be enabled in the IIS with the proper certificate.
Important to secure any additional hostnames using SNI
IP address: select “All unassigned”.

IIS environment with SSL certificate
When your environment already has IIS and an SSL certificate installed, configure the file settings appsettings.json as follows:
| Parameter | Value | Description |
|---|---|---|
| serverAddress | http://<repserver> |
Repserver Address |
| CertificateSubject | <nombre del certificado> |
Identifier name of the SSL certificate to be used by Conserver |
| enableProxy | false |
Enabled only if Proxy is used in the environment |
| privateIp | <hostname> |
Hostname or private IP of the Server |
| publicIp | <hostname> |
Hostname or public IP of the Server |
| mqttServerPort | 1884 |
MQTT communication port (default 1884) |
| mqttIp | <hostname> |
Name of the host or IP where MQTT is located |
| privateServerPort | 443 |
Secure Private Network Communication Port (HTTPS) |
| publicServerPort | 443 |
Secure communication port on public network (HTTPS) |
| maxDistributionSleepMsPerThread | 8 |
Internal System Parameter |
| maxDistributionThreads | 4 |
Internal System Parameter |
| EnableSecurityPrivateIp | true |
Enables security validation for private network connections |
| EnableSecurityPublicIp | true |
Enable security validation for public network connections |
| SecondsPingRemoteServer | 60 |
Interval in seconds to check remote server availability |
XML configuration example:
<appSettings>
<add key="Serilog:MinimumLevel" value="Debug" />
<add key="Serilog:WriteTo:0:Name" value="File" />
<add key="Serilog:WriteTo:0:Args:path" value="Logs\\Conserver-%COMPUTERNAME%.log" />
<add key="Serilog:WriteTo:0:Args:shared" value="true" />
<add key="Serilog:WriteTo:0:Args:rollingInterval" value="Day" />
<add key="Logging:LogLevel:Default" value="Information" />
<add key="serverAddress" value="" />
<add key="CertificateSubject" value="" />
<add key="enableProxy" value="false" />
<add key="proxyAddress" value="" />
<add key="proxyUser" value="" />
<add key="proxyPassword" value="" />
<add key="privateIp" value="" />
<add key="publicIp" value="" />
<add key="mqttServerPort" value="1884" />
<add key="mqttIp" value="" />
<add key="privateServerPort" value="443" />
<add key="publicServerPort" value="443" />
<add key="maxDistributionSleepMsPerThread" value="8" />
<add key="maxDistributionThreads" value="4" />
<add key="EnableSecurityPrivateIp" value= "false" />
<add key="EnableSecurityPublicIp" value= "false" />
<add key="SecondsPingRemoteServer" value="60" />
</appSettings>
⚠ Important: HTTPS traffic will be handled entirely through IIS. A valid SSL certificate must be associated with the Conserver website in IIS, and the ports PrivateServerPort and PublicServerPort should be set to
443to establish secure communication. The parameters EnableSecurityPrivateIp and EnableSecurityPublicIp must be set totrueto ensure security validation. If IIS is already using port 443 and connectivity testing is required, it may need to be temporarily released according to the procedure defined by the organization.
Environment without IIS and with certificate
When the environment does not have IIS installed, the Conserver will directly handle secure communication. In this case, keep the configuration as described in the initial section of this document, using the default ports and parameters:
- PrivateServerPort:
443(or the port configured for the private network) - PublicServerPort:
443(or the port configured for the public network) - EnableSecurityPrivateIp:
true(adjustment according to the organization’s security policy) - EnableSecurityPublicIp:
true(adjustment according to the organization’s security policy)
Example of XML configuration for non-IIS and certificated environment:
<appSettings>
<add key="Serilog:MinimumLevel" value="Debug" />
<add key="Serilog:WriteTo:0:Name" value="File" />
<add key="Serilog:WriteTo:0:Args:path" value="Logs\\Conserver-%COMPUTERNAME%.log" />
<add key="Serilog:WriteTo:0:Args:shared" value="true" />
<add key="Serilog:WriteTo:0:Args:rollingInterval" value="Day" />
<add key="Logging:LogLevel:Default" value="Information" />
<add key="serverAddress" value="" />
<add key="CertificateSubject" value="Nombre_certificado" />
<add key="enableProxy" value="false" />
<add key="proxyAddress" value="" />
<add key="proxyUser" value="" />
<add key="proxyPassword" value="" />
<add key="privateIp" value="" />
<add key="publicIp" value="" />
<add key="mqttServerPort" value="1884" />
<add key="mqttIp" value="" />
<add key="privateServerPort" value="443" />
<add key="publicServerPort" value="443" />
<add key="maxDistributionSleepMsPerThread" value="8" />
<add key="maxDistributionThreads" value="4" />
<add key="EnableSecurityPrivateIp" value= "true" />
<add key="EnableSecurityPublicIp" value= "true" />
<add key="SecondsPingRemoteServer" value="60" />
</appSettings>