Questo articolo è stato tradotto dall’AI

Server Multitenant

Configurazione del server multitenant

  1. Installare il server Developer Edition

    È necessaria una licenza valida per la multi-tenancy per abilitare la modalità multi-tenancy.

    Si prega di contattare il proprio assistente alle vendite per richiedere questa licenza.

    Si prega di registrare il prodotto seguendo le istruzioni fornite.

  2. Aprire il file di configurazione local.json e impostare il campo baseDir sul percorso della cartella che contiene le impostazioni dei tenant. Si consiglia di utilizzare il valore /var/www/onlyoffice/Data/tenants.
  3. In local.json, impostare il campo baseDomain sul dominio di secondo livello che servirà come dominio base per tutti i tuoi tenant.
  4. Le statistiche sulla licenza principale sono raccolte in un tenant predefinito.
    • Il nome del tenant predefinito è specificato nel campo defaultTenant all'interno di defaultTenant.

      Non è possibile creare un altro tenant con questo nome.

    • Le richieste al baseDomain che non specificano un tenant vengono automaticamente indirizzate al tenant predefinito.
    • Il tenant predefinito non richiede configurazioni aggiuntive. Tuttavia, le richieste a questo tenant sono firmate utilizzando un segreto definito nel file local.json.
    • Visualizza le statistiche sulla pagina info del tenant predefinito.

Aggiunta di un nuovo tenant

  1. Per aggiungere un nuovo tenant:
    • Creare una nuova cartella all'interno della directory baseDir sul server.
    • Il nome del tenant sarà formato utilizzando il nome della cartella e il baseDomain (ad esempio, se la cartella si chiama tenant1 e il baseDomain è example.com, il nome del tenant diventa tenant1.example.com).

      Assicurarsi che questa cartella sia creata nel file system dove risiede default.json.

    All'interno di ciascuna cartella del tenant, includere i seguenti due file obbligatori:

    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                 }

    Implementare un file secret.key per ciascun tenant per garantire isolamento e sicurezza. Se assente, verrà utilizzato il segreto del tenant principale. Se è specificato un segreto JWT, quello in config.json avrà la precedenza.

    file system:

    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 – file obbligatorio con la licenza del tenant
    • config.json – è un file di configurazione obbligatorio che sovrascrive la configurazione principale del server

    È obbligatorio compilare il segreto JWT.

  3. Il file license.lic sovrascrive campi specifici della licenza principale per il tenant. Le sue regole sono:
    • Firma: La firma della licenza non è richiesta.
    • Ereditarietà dei Campi: Puoi includere alcuni o tutti i campi della licenza principale. I campi non specificati predefiniranno i valori nella licenza principale e saranno convalidati di conseguenza.
    • Regolazioni dei Limiti: Non puoi aumentare i valori rispetto alla licenza principale, ma puoi diminuirli. I campi applicabili includono: connessioni, connessioni_visualizzazione, numero_utenti, scadenza_utenti, numero_utenti_visualizzazione, data_fine, limitato_nel_tempo, api_avanzata, branding, personalizzazione.

      Esempio: Potresti rimuovere branding e personalizzazione o impostare una modalità di prova.

      Aumentare i valori è inefficace perché la licenza principale viene ricontrollata ogni volta.

    • Caching: Una volta letti, i valori della licenza vengono memorizzati nella cache per 5 minuti.

    Ad esempio, license.lic potrebbe contenere il seguente contenuto:

    {"branding":false,"connections":100,"users_count":0}
  4. Il file config.json ti consente di sovrascrivere alcune impostazioni del server. Le regole sono:
    • Impostazioni Non Sovrascrivibili: Le impostazioni utilizzate durante l'avvio del server (come indirizzi di servizi esterni, percorsi di log, licenze e cache dei file) non possono essere sovrascritte.
    • Impostazioni Sovrascrivibili: Puoi sovrascrivere le impostazioni che influenzano le operazioni in tempo reale, inclusa la configurazione WOPI, il filtraggio IP, il segreto JWT, la disabilitazione dell'accesso anonimo e i limiti di dimensione dei file.
    • Caching: Una volta letti, i valori di configurazione vengono memorizzati nella cache per 5 minuti.

    Ad esempio, il file config.json potrebbe avere il seguente contenuto:

    {  "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      }     }    }   }  } }
Voci con l'etichetta tag:
Sfoglia tutti i tag