⚠ Importante: La dirección IP o el nombre DNS del servidor donde se instale el ConServer debe permanecer fija.
Si la IP o el DNS cambian después de la instalación, los agentes perderán la conectividad, siendo necesario reinstalarlos o reconfigurarlos para restablecer la comunicación.
1. Durante la instalación de Conserver, si mantiene la ruta predeterminada, los archivos se guardarán en C:\Program Files\Aranda\Conserver. Si selecciona una ruta diferente, los archivos quedarán en la ubicación que usted defina. Luego, configure el archivo appsettings.json de la siguiente manera para que se comunique con el Repserver:
| Ruta de configuración | Descripción |
|---|---|
Serilog:MinimumLevel |
Se utiliza para establecer el nivel mínimo de registro de eventos para la biblioteca de registro Serilog. |
Serilog:WriteTo:0:Name |
Se utiliza para especificar el primer destino de registro que se utilizará para Serilog. El valor “File” indica que los eventos de registro se escribirán en un archivo. |
Serilog:WriteTo:0:Args:path |
Se utiliza para especificar la ruta y el nombre del archivo donde se escribirán los eventos de registro. |
Serilog:WriteTo:0:Args:shared |
Se utiliza para especificar si el archivo de registro debe ser compartido por varios procesos o no. |
Serilog:WriteTo:0:Args:rollingInterval |
Se utiliza para especificar el intervalo de tiempo en el que se crean nuevos archivos de registro. |
Logging:LogLevel:Default |
Se utiliza para establecer el nivel de registro predeterminado para la biblioteca de registro de Microsoft. |
Services:ServerAddress |
Dirección donde se encuentra el Repserver. |
Services:CertificateSubject |
Nombre identificador del certificado que utilizará Conserver. |
Services:EnableProxy |
En caso de usar Proxy se habilita la etiqueta enableProxy con valor “true”. |
Services:ProxyAddress |
Dirección del proxy. |
Services:ProxyUser |
Usuario del Proxy. |
Services:ProxyPassword |
Contraseña del Proxy. |
Services:PrivateIp |
Identificador en la red interna del Conserver, debe ir la IP. |
Services:PublicIp |
Identificador de la red del Conserver desde el exterior, debe ir la IP. (En caso de que no se requiera se utiliza la misma dirección privada). |
Services:MqttServerPort |
Puerto de Comunicación de MQTT, por defecto se encuentra parametrizado el “1884”. |
Services:MqttIp |
Identificador de MQTT en la red interna, debe ir la IP. |
Services:PublicServerPort |
Puerto de comunicación red pública de Conserver, por defecto se encuentra parametrizado el “80”. |
Services:PrivateServerPort |
Puerto de comunicación red privada de Conserver, por defecto se encuentra parametrizado el “80”. |
Services:MaxDistributionSleepMsPerThread |
- |
Services:MaxDistributionThreads |
Estos dos últimos tags son utilizados para el funcionamiento interno del sistema, se deben modificar. |
Services:EnableSecurityPrivateIp |
Habilita la validación de seguridad para conexiones realizadas mediante direcciones IP privadas. |
Services:EnableSecurityPublicIp |
Habilita la validación de seguridad para conexiones realizadas mediante direcciones IP públicas. |
Services:SecondsPingRemoteServer |
Intervalo, en segundos, para verificar la disponibilidad del servidor remoto. |
{
"Serilog": {
"Using": [ "Serilog.Sinks.File" ],
"MinimumLevel": "Debug",
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "Logs\\Conserver-%COMPUTERNAME%.log",
"shared": true,
"rollingInterval": "Day",
"retainedFileCountLimit": 7,
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}"
}
}
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Warning",
"Quartz": "Warning",
"System.Net.Http.HttpClient": "Warning"
}
},
"Services": {
"ServerAddress": "",
"CertificateSubject": "",
"EnableProxy": false,
"ProxyAddress": "",
"ProxyUser": "",
"ProxyPassword": "",
"PrivateIp": "",
"PublicIp": "",
"MqttServerPort": 1884,
"MqttIp": "",
"PrivateServerPort": 80,
"PublicServerPort": 80,
"MaxDistributionSleepMsPerThread": 8,
"MaxDistributionThreads": 4,
"EnableSecurityPrivateIp": false,
"EnableSecurityPublicIp": false,
"SecondsPingRemoteServer": 60
}
}
2. Inicie el servicio Aranda Conserver V9, para permitir la comunicación con el Repserver.

Configuración del Conserver para recibir peticiones por HTTPS
Para configurar el Conserver para recibir peticiones por HTTPS, en el IIS debe estar habilitado HTTPS con el debido certificado.
Importante asegurar cualquier nombre de host adicional utilizando SNI.
Dirección IP: seleccione «All unassigned».

Ambiente con IIS y certificado SSL
Cuando el ambiente ya cuenta con IIS y un certificado SSL instalado, configure los parámetros del archivo appsettings.json de la siguiente manera:
| Parámetro | Valor | Descripción |
|---|---|---|
| serverAddress | <https://<repserver> |
Dirección del Repserver. |
| CertificateSubject | <nombre del certificado> |
Nombre identificador del certificado SSL que utilizará Conserver. |
| enableProxy | false |
Se habilita solamente si se utiliza Proxy en el ambiente. |
| privateIp | <hostname> |
Nombre del host o IP privada del Conserver. |
| publicIp | <hostname> |
Nombre del host o IP pública del Conserver. |
| mqttServerPort | 1884 |
Puerto de comunicación MQTT (por defecto 1884). |
| mqttIp | <hostname> |
Nombre del host o IP donde se encuentra MQTT. |
| privateServerPort | 443 |
Puerto de comunicación segura en red privada (HTTPS). |
| publicServerPort | 443 |
Puerto de comunicación segura en red pública (HTTPS). |
| maxDistributionSleepMsPerThread | 8 |
Parámetro interno del sistema. |
| maxDistributionThreads | 4 |
Parámetro interno del sistema. |
| EnableSecurityPrivateIp | true |
Habilita validación de seguridad para conexiones en red privada. |
| EnableSecurityPublicIp | true |
Habilita validación de seguridad para conexiones en red pública. |
| SecondsPingRemoteServer | 60 |
Intervalo en segundos para verificar disponibilidad del servidor remoto. |
Ejemplo de configuración JSON:
{
"Serilog": {
"Using": [ "Serilog.Sinks.File" ],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "Logs\\Conserver-%COMPUTERNAME%.log",
"shared": true,
"rollingInterval": "Day",
"retainedFileCountLimit": 7,
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}"
}
}
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Warning",
"Quartz": "Warning",
"System.Net.Http.HttpClient": "Warning"
}
},
"Services": {
"ServerAddress": "<https://<repserver>",
"CertificateSubject": "",
"EnableProxy": false,
"ProxyAddress": "",
"ProxyUser": "",
"ProxyPassword": "",
"PrivateIp": "<hostnamePrivate>",
"PublicIp": "<hostnamePublic>",
"MqttServerPort": 1884,
"MqttIp": "<hostnameMQTT>",
"PrivateServerPort": 443,
"PublicServerPort": 443,
"MaxDistributionSleepMsPerThread": 8,
"MaxDistributionThreads": 4,
"EnableSecurityPrivateIp": true,
"EnableSecurityPublicIp": true,
"SecondsPingRemoteServer": 60
}
}
⚠ Importante: El tráfico HTTPS será manejado completamente a través de IIS. Debe existir un certificado SSL válido asociado al sitio web de Conserver en IIS, y los puertos PrivateServerPort y PublicServerPort deben configurarse en
443para establecer la comunicación segura. Los parámetros EnableSecurityPrivateIp y EnableSecurityPublicIp deben estar configurados entruepara garantizar la validación de seguridad. Si IIS ya está utilizando el puerto 443 y se requiere realizar pruebas de conectividad, puede ser necesario liberarlo temporalmente según el procedimiento definido por la organización.
Ambiente sin IIS y con certificado
Cuando el ambiente no cuenta con IIS instalado, el Conserver gestionará directamente la comunicación segura. En este caso, mantenga la configuración según lo descrito en la sección inicial de este documento, utilizar los puertos y parámetros por defecto:
- PrivateServerPort:
443(o el puerto configurado para la red privada). - PublicServerPort:
443(o el puerto configurado para la red pública). - EnableSecurityPrivateIp:
true(ajuste según política de seguridad de la organización). - EnableSecurityPublicIp:
true(ajuste según política de seguridad de la organización).
Ejemplo de configuración JSON para ambiente sin IIS y con certificado:
{
"Serilog": {
"Using": [ "Serilog.Sinks.File" ],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "Logs\\Conserver-%COMPUTERNAME%.log",
"shared": true,
"rollingInterval": "Day",
"retainedFileCountLimit": 7,
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}"
}
}
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Warning",
"Quartz": "Warning",
"System.Net.Http.HttpClient": "Warning"
}
},
"Services": {
"ServerAddress": "",
"CertificateSubject": "Nombre_certificado",
"EnableProxy": false,
"ProxyAddress": "",
"ProxyUser": "",
"ProxyPassword": "",
"PrivateIp": "",
"PublicIp": "",
"MqttServerPort": 1884,
"MqttIp": "",
"PrivateServerPort": 443,
"PublicServerPort": 443,
"MaxDistributionSleepMsPerThread": 8,
"MaxDistributionThreads": 4,
"EnableSecurityPrivateIp": true,
"EnableSecurityPublicIp": true,
"SecondsPingRemoteServer": 60
}
}