Referencia: appsettings.json¶
El archivo appsettings.json del Backend contiene toda la configuración de la aplicación. El Asistente de Configuración gestiona automáticamente las claves principales; el resto raramente requiere intervención manual.
En IIS y en un contenedor de producción, las contraseñas y claves de este fichero se guardan cifradas: ver Cifrado de los appsettings.
Los administradores pueden consultar y cambiar la mayoría de estas claves, del Backend y del Frontend, desde la propia aplicación: ver Configuración de la aplicación.
Backend — appsettings.json completo¶
{
"Kestrel": { // (1)!
"Endpoints": {
"Http": {
"Url": "http://localhost:7110"
}
}
},
"ProjectName": "RENAME", // (2)!
"Logging": { // (3)!
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
},
"EventLog": {
"LogLevel": {
"Default": "Warning",
"Microsoft.AspNetCore": "Warning"
}
}
},
"ConnectionStrings": { // (4)!
"ConfConnectionString": "Data Source=localhost;Initial Catalog=RENAME;User ID=sa;Password=;Encrypt=False;Trust Server Certificate=True",
"DataConnectionString": "Data Source=localhost;Initial Catalog=RENAME;User ID=sa;Password=;Encrypt=False;Trust Server Certificate=True"
},
"MailSettings": { // (5)!
"From": "",
"Host": "",
"Port": 25,
"Ssl": false,
"UserName": "",
"Password": "",
"Configured": false
},
"DatabaseNuget": { // (6)!
"PackageId": "Flexygo.Conf.Database",
"NugetUrl": "https://nuget.ahorabh.com/v3/index.json",
"PreReleaseVersions": false
},
"DisableCronJobs": false, // (7)!
"DisableScriptJobs": false,
"FrontendEndpoint": "", // (8)!
"AllowedHosts": "*",
"WebApiOrigins": "*", // (9)!
"DebugUpdater": false // (10)!
}
- Kestrel — Puerto en el que escucha el Backend. Configurado por el instalador según el entorno. Solo modificar si cambias el puerto manualmente.
- ProjectName — Nombre del proyecto/producto. El instalador lo rellena con el nombre del producto instalado.
- Logging — Niveles de log de la aplicación y del Event Log de Windows. Los valores por defecto son adecuados para producción.
- ConnectionStrings — Cadenas de conexión a las dos bases de datos. El Asistente de Configuración las genera y actualiza automáticamente.
ConfConnectionStringapunta a la BD de configuración yDataConnectionStringa la BD de datos. - MailSettings — Parámetros del servidor SMTP. Configurados por el Asistente. La clave
Configuredviene afalseen la plantilla y el asistente la pone atrueal guardar el correo; mientras seafalse, el asistente vuelve a solicitar la configuración de correo. - DatabaseNuget — Fuente NuGet desde donde el sistema comprueba actualizaciones de la base de datos de configuración. No modificar salvo que uses un feed NuGet corporativo propio.
- DisableCronJobs y DisableScriptJobs —
DisableCronJobsdeshabilita las tareas programadas internas de Flexygo (Cron Jobs) yDisableScriptJobs, los trabajos de script de base de datos que se lanzan al arrancar. Útiles en entornos de prueba, en copias que apuntan a una base compartida o cuando hay varias instancias del Backend. Solo el valortruelas apaga. Se leen de este fichero, que manda sobre cualquier otro sitio (la tabla de ajustes no cuenta), y solo al arrancar: después de cambiarlas hay que reiniciar el Backend. - FrontendEndpoint — URL del Frontend tal como la conoce el Backend. Viene vacía en la plantilla y la configura automáticamente el instalador (por ejemplo,
http://localhost:7111). Solo modificar en caso de cambio de dominio o puerto tras la instalación. - WebApiOrigins — Orígenes permitidos para las peticiones CORS a la API.
"*"permite cualquier origen. Restringir en producción si se requiere. - DebugUpdater — Activa el modo de depuración del actualizador. Solo para diagnóstico; mantener en
falseen producción.
Claves generadas automáticamente (Backend)¶
Al arrancar la aplicación por primera vez, el sistema genera y persiste en appsettings.json las siguientes claves de seguridad. El usuario no debe modificarlas salvo en escenarios muy específicos (p.ej. rotación de claves en entornos con múltiples instancias):
| Clave | Propósito |
|---|---|
JwtSettings.SecretKey |
Firma de los tokens JWT de autenticación |
DataProtection.ApplicationId |
Identificador de la aplicación para el cifrado de datos sensibles |
DataProtection.Key |
Clave de cifrado para la protección de datos de ASP.NET Core |
Estas claves no aparecen en el archivo hasta el primer arranque y son invisibles para el usuario en el flujo normal de instalación y configuración.
Frontend — appsettings.json completo¶
{
"Kestrel": { // (1)!
"Endpoints": {
"Http": {
"Url": "http://localhost:7111"
}
}
},
"Logging": { // (2)!
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
},
"EventLog": {
"LogLevel": {
"Default": "Warning",
"Microsoft.AspNetCore": "Warning"
}
}
},
"BackendEndpoint": "", // (3)!
"AllowedHosts": "*",
"WebApiOrigins": "*", // (4)!
"DebugUpdater": false, // (5)!
"EnableWindowsAuth": false // (6)!
}
- Kestrel — Puerto en el que escucha el Frontend. Configurado por el instalador. Solo modificar si cambias el puerto manualmente.
- Logging — Niveles de log. Idéntico al Backend; los valores por defecto son adecuados para producción.
- BackendEndpoint — URL de la API del Backend que el Frontend consume. Viene vacía en la plantilla y la configura automáticamente el instalador (por ejemplo,
http://localhost:7110/api/backend/). Solo modificar en caso de cambio de dominio o puerto tras la instalación. - WebApiOrigins — Orígenes permitidos para CORS.
"*"permite cualquier origen. Restringir en producción si se requiere. - DebugUpdater — Activa el modo de depuración del actualizador en el Frontend. Mantener en
falseen producción. - EnableWindowsAuth — Activa el inicio de sesión integrado de Windows (NTLM/Kerberos). Requiere que IIS tenga habilitadas tanto la autenticación anónima como la de Windows. Mantener en
falsesalvo que se use inicio de sesión automático contra LDAP.
Claves opcionales (Frontend y Backend)¶
No vienen en la plantilla y sólo se añaden cuando hacen falta:
| Clave | Propósito |
|---|---|
ForwardedHeaders.KnownProxies |
Direcciones IP de los proxies inversos de confianza, para que la aplicación acepte de ellos la IP real del cliente. Ver Despliegue tras un proxy inverso |
HttpsRedirection (solo Frontend) |
Redirige a https las peticiones que llegan por http. Si no está, vale true. Ponerla en false únicamente cuando un proxy inverso delante ya obliga a https; ver Despliegue tras un proxy inverso |
Claves generadas automáticamente (Frontend)¶
Al igual que el Backend, el Frontend genera y persiste estas claves en el primer arranque. No modificar salvo casos muy específicos:
| Clave | Propósito |
|---|---|
JwtSettings.SecretKey |
Verificación de los tokens JWT recibidos del Backend |
DataProtection.ApplicationId |
Identificador para el cifrado de datos de sesión |
DataProtection.Key |
Clave de cifrado para la protección de datos de ASP.NET Core |