Este artículo está traducido por IA

Servidor multitenant

Configuración del servidor multitenant

  1. Instalar el servidor Developer Edition

    Se requiere una licencia válida de multi-tenancy para habilitar el modo multi-tenancy.

    Por favor, contacte con su asistente de ventas para solicitar esta licencia.

    Registre el producto siguiendo las instrucciones proporcionadas.

  2. Abra el archivo de configuración local.json y establezca el campo baseDir en la ruta de la carpeta que contiene la configuración de los tenants. Recomendamos usar el valor /var/www/onlyoffice/Data/tenants.
  3. En local.json, establezca el campo baseDomain en el dominio de segundo nivel que servirá como dominio base para todos sus tenants.
  4. Las estadísticas de la licencia principal se recopilan en un tenant por defecto.
    • El nombre del tenant por defecto se especifica en el campo defaultTenant dentro de defaultTenant.

      No puede crear otro tenant con este nombre.

    • Las solicitudes al baseDomain que no especifiquen un tenant se redirigen automáticamente al tenant por defecto.
    • El tenant por defecto no requiere configuración adicional. Sin embargo, las solicitudes a este tenant se firman usando un secreto definido en el archivo local.json.
    • Vea las estadísticas en la página info del tenant por defecto.

Añadir un nuevo tenant

  1. Para añadir un nuevo tenant:
    • Cree una nueva carpeta dentro del directorio baseDir en el servidor.
    • El nombre del tenant se formará usando el nombre de la carpeta y el baseDomain (por ejemplo, si la carpeta se llama tenant1 y el baseDomain es example.com, el nombre del tenant será tenant1.example.com).

      Asegúrese de que esta carpeta se cree en el sistema de archivos donde reside default.json.

    Dentro de cada carpeta de tenant, incluya los siguientes dos archivos obligatorios:

    local.json:

    "tenants": {                     "baseDir": "/var/www/onlyoffice/Data/tenants",                     "baseDomain": "mydomain.example",                     "filenameConfig": "config.json",                     "filenameSecret": "secret.key",                     "filenameLicense": "license.lic",                     "defaultTenant": "localhost",                     "cache": {                             "stdTTL": 300,                             "checkperiod": 60,                             "useClones": false                 }

    Implemente un archivo secret.key para cada tenant para asegurar el aislamiento y la seguridad. Si falta, se usará el secreto del tenant principal. Si se especifica un secreto JWT, el de config.json tendrá prioridad.

    sistema de archivos:

    root@3694c287928a:/var/www/onlyoffice/Data/tenants# ls -a                 . .. tenant1 tenant2                 root@3694c287928a:/var/www/onlyoffice/Data/tenants#
  2. root@3694c287928a:~# ls /var/www/onlyoffice/Data/tenants/tenant1                 config.json license.lic                 root@3694c287928a:~#
    • license.lic – archivo obligatorio con la licencia del tenant
    • config.json – es un archivo de configuración obligatorio que sobrescribe la configuración principal del servidor

    Es obligatorio completar el secreto JWT.

  3. El archivo license.lic sobrescribe campos específicos de la licencia principal para el tenant. Sus reglas son:
    • Firma: No se requiere la firma de la licencia.
    • Herencia de Campos: Puede incluir algunos o todos los campos de la licencia principal. Los campos no especificados se establecerán en los valores de la licencia principal y se validarán en consecuencia.
    • Ajustes de Límites: No puede aumentar los valores en comparación con la licencia principal, pero puede disminuirlos. Los campos aplicables incluyen: connections, connections_view, users_count, users_expire, users_view_count, end_date, timelimited, advanced_api, branding, customization.

      Ejemplo: Puede eliminar branding y customization o establecer un modo de prueba.

      Aumentar los valores es ineficaz porque la licencia principal se verifica cada vez.

    • Caché: Una vez leídos, los valores de la licencia se almacenan en caché durante 5 minutos.

    Por ejemplo, license.lic puede tener el siguiente contenido:

    {"branding":false,"connections":100,"users_count":0}
  4. El archivo config.json le permite sobrescribir ciertas configuraciones del servidor. Las reglas son:
    • Configuraciones No Sobrescribibles: Las configuraciones usadas durante el inicio del servidor (como direcciones de servicios externos, rutas de logs, licencias y caché de archivos) no pueden ser sobrescritas.
    • Configuraciones Sobrescribibles: Puede sobrescribir configuraciones que afectan las operaciones en tiempo de ejecución, incluyendo la configuración WOPI, el filtrado de IP, el secreto JWT, la desactivación del acceso anónimo y los límites de tamaño de archivo.
    • Caché: Una vez leídos, los valores de configuración se almacenan en caché durante 5 minutos.

    Por ejemplo, el archivo config.json puede tener el siguiente contenido:

    {  "wopi": {   "enable": true  },  "services": {   "CoAuthoring": {    "secret": {     "inbox": {"string": "secret", "file": ""},     "outbox": {"string": "secret", "file": ""},     "session": {"string": "secret", "file": ""}    },    "token": {     "enable": {      "browser": true,      "request": {       "inbox": true,       "outbox": true      }     }    }   }  } }
Artículos con etiqueta:
Ver todas las etiquetas