- Home
- Docs
- Installazione e configurazione
- Sviluppatore
- Versione di Docker
- Configurazione di ONLYOFFICE Docs Developer Edition
Configurazione di ONLYOFFICE Docs Developer Edition
Introduzione
Per modificare qualsiasi impostazione del server di ONLYOFFICE Docs, configura il parametro corrispondente nel file di configurazione di ONLYOFFICE Docs, che si trova al seguente percorso:
- Per Linux -
/etc/onlyoffice/documentserver/default.json - Per Windows -
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\default.json
Se desideri modificarlo, puoi utilizzare il file local.json, dove devono essere memorizzati tutti i parametri modificati. Questo file si trova nella stessa directory del file default.json, e l'intera struttura dell'oggetto per il parametro necessario deve essere mantenuta.
default.json. I valori predefiniti verranno ripristinati ogni volta che riavvii il container Docker o aggiorni ONLYOFFICE Docs a una nuova versione, e tutte le tue modifiche andranno perse.Le impostazioni predefinite del server sono descritte di seguito.
Pannello di Amministrazione
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
adminPanel.port | Definisce la porta su cui è in esecuzione il servizio del Pannello di Amministrazione. | intero | 9000 |
adminPanel.passwordHash | Definisce un hash della password utilizzato per proteggere una password con l'algoritmo PBKDF2-SHA256.
Il valore di questo parametro è memorizzato nel file runtime.json. Ad esempio, per la versione Linux, questo file si trova qui:
/var/www/onlyoffice/Data/runtime.json | stringa | "" |
Questi parametri definiscono le proprietà del Pannello di Amministrazione. Per ulteriori dettagli sull'uso del Pannello di Amministrazione, puoi fare riferimento a questo articolo.
Esempio
"adminPanel": {
"port": 9000
}
StatsD
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
statsd.useMetrics | Definisce se le metriche StatsD sono abilitate per ONLYOFFICE Docs o meno. | booleano | false |
statsd.host | Definisce l'host del server StatsD (nome host o indirizzo IP). | stringa | "localhost" |
statsd.port | Definisce la porta del server StatsD. | stringa | "8125" |
statsd.prefix | Definisce una stringa che verrà aggiunta all'inizio di tutte le statistiche automaticamente. Aiuta a distinguere diverse applicazioni che utilizzano lo stesso server StatsD. | stringa | "ds." |
Questi parametri definiscono le proprietà del server StatsD, specificando un aggregatore di metriche.
Esempio
"statsd": {
"useMetrics": false,
"host": "localhost",
"port": "8125",
"prefix": "ds."
}
Impostazioni del plugin AI
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
aiSettings.actions | Definisce le azioni eseguite dall'AI, ad esempio, Chat, Riassunto, Traduzione, Analisi del Testo, Generazione di Immagini, OCR, Visione. | oggetto | |
aiSettings.models | Definisce i modelli AI, ad esempio, gemini-1.5-pro-latest, llama3.2:latest, ecc. | array | [] |
aiSettings.providers | Definisce i fornitori di AI, ad esempio, OpenAI, Google Gemini, Anthropic, ecc. | oggetto | |
aiSettings.version | Definisce la versione dell'SDK AI. | intero | 3 |
aiSettings.timeout | Definisce un timeout proxy AI (misurato in minuti). | stringa | "5m" |
aiSettings.allowedCorsOrigins | Definisce quali siti web esterni sono autorizzati a effettuare richieste cross-origin al server. | array di stringhe | ["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"] |
aiSettings.proxy | Supporta il routing delle richieste AI tramite proxy. | stringa | "" |
Questi parametri definiscono le proprietà del plugin AI.
Esempio
"aiSettings": {
"actions": {},
"models": [],
"providers": {},
"version": 3,
"timeout": "5m",
"allowedCorsOrigins": ["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"],
"proxy": ""
}
Logger
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
log.filePath | Definisce un percorso per il file di log. | stringa | "" |
log.options | Definisce le opzioni di log. | oggetto | |
log.options.replaceConsole | Definisce se le informazioni di log vengono stampate sulla console o meno. | booleano | true |
Questi parametri definiscono le proprietà del logger.
Esempio
"log": {
"filePath": "",
"options": {
"replaceConsole": true
}
}
Configurazione runtime
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
runtimeConfig.filePath | Definisce un percorso per il file di configurazione dinamica runtime.json. Per impostazione predefinita, viene utilizzato il percorso /var/www/onlyoffice/Data/runtime.json. | stringa | "" |
runtimeConfig.cache | Definisce le opzioni di cache per runtime.json. | oggetto | |
runtimeConfig.cache.stdTTL | Definisce il TTL (tempo di vita) per ogni elemento di cache generato (misurato in secondi). | intero | 300 |
runtimeConfig.cache.checkperiod | Definisce il periodo utilizzato per l'intervallo di controllo dell'eliminazione automatica (misurato in secondi). | intero | 60 |
runtimeConfig.cache.useClones | Definisce se le variabili memorizzate nella cache verranno clonate o meno. Se true, verrà creata una copia della variabile memorizzata nella cache. Se false, verrà salvato solo il riferimento. | booleano | false |
Questi parametri definiscono le proprietà del file di configurazione dinamica runtime.json. Questo file consente di modificare i parametri senza riavviare. Il file viene riletto in base a un evento di monitoraggio o ogni 5 minuti.
Esempio
"runtimeConfig": {
"filePath": "",
"cache": {
"stdTTL": 300,
"checkperiod": 60,
"useClones": false
}
}
Code
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
queue.type | Definisce il tipo di message broker. | stringa | "rabbitmq" |
queue.visibilityTimeout | Definisce il timeout di conversione (misurato in secondi). | intero | 300 |
queue.retentionPeriod | Definisce il TTL (tempo di vita) di tutti i messaggi in una coda (misurato in secondi). | intero | 900 |
Questi parametri definiscono una coda di messaggi ricevuti dal message broker.
Esempio
"queue": {
"type": "rabbitmq",
"visibilityTimeout": 300,
"retentionPeriod": 900
}
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
email.smtpServerConfiguration | Definisce le impostazioni di base per la connessione al server SMTP. | oggetto | |
email.smtpServerConfiguration.host | Definisce il nome host o l'indirizzo IP del server SMTP. | stringa | "localhost" |
email.smtpServerConfiguration.port | Definisce la porta del server SMTP. | intero | 587 |
email.smtpServerConfiguration.auth | Definisce i dati di autenticazione. | oggetto | |
email.smtpServerConfiguration.auth.user |
Definisce il nome utente per l'autenticazione. Si prega di notare che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| stringa | "" |
email.smtpServerConfiguration.auth.pass |
Definisce la password per l'autenticazione. Si prega di notare che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| stringa | "" |
email.connectionConfiguration | Definisce le opzioni tecniche per la connessione al server SMTP. | oggetto | |
email.connectionConfiguration.disableFileAccess | Definisce se consentire l'uso di file come contenuto. Se questo parametro è impostato su true, i dati JSON da una fonte non attendibile non possono essere utilizzati come email. Se un allegato o un nodo di messaggio tenta di recuperare qualcosa da un file, l'invio restituisce un errore. | booleano | false |
email.connectionConfiguration.disableUrlAccess | Definisce se consentire l'uso di URL come contenuto. | booleano | false |
email.contactDefaults | Definisce le impostazioni del messaggio email. | oggetto | |
email.contactDefaults.from | Definisce l'indirizzo email del mittente. Tutti gli indirizzi email possono essere semplici "sender@server.com" o con nome formattato '"Nome Mittente" sender@server.com'. | stringa | "from@example.com" |
email.contactDefaults.to | Definisce la lista separata da virgole o un array di indirizzi email dei destinatari che appariranno nel campo A:. | stringa | "to@example.com" |
Questi parametri definiscono le impostazioni di un server di posta esterno, utilizzato per inviare notifiche. Per connettersi al server di posta, utilizzare la libreria nodemailer. Molte impostazioni di configurazione vengono passate direttamente a questa libreria.
Esempio
"email": {
"smtpServerConfiguration": {
"host": "localhost",
"port": 587,
"auth": {
"user": "",
"pass": ""
}
},
"connectionConfiguration": {
"disableFileAccess": false,
"disableUrlAccess": false
},
"contactDefaults": {
"from": "from@example.com",
"to": "to@example.com"
}
}
Notifica
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
notification.rules | Definisce le regole delle impostazioni di notifica per quattro tipi di notifica: licenseExpirationWarning, licenseExpirationError, licenseLimitEdit, licenseLimitLiveViewer. | oggetto | |
notification.rules.licenseExpirationWarning | Definisce le regole per le impostazioni di notifica licenseExpirationWarning. | oggetto | |
notification.rules.licenseExpirationWarning.enable | Definisce se la notifica licenseExpirationWarning è abilitata. Ogni tipo di notifica deve essere abilitato separatamente. | booleano | false |
notification.rules.licenseExpirationWarning.transportType | Definisce il modo di invio della notifica licenseExpirationWarning. Attualmente, è disponibile solo il tipo email. | array di stringhe | ["email"] |
notification.rules.licenseExpirationWarning.template | Definisce un modello per il titolo e il corpo della notifica licenseExpirationWarning. | oggetto | |
notification.rules.licenseExpirationWarning.template.title | Definisce un modello per il titolo della notifica licenseExpirationWarning. | stringa | "%s Avviso di scadenza della licenza Docs" |
notification.rules.licenseExpirationWarning.template.body | Definisce un modello per il corpo della notifica licenseExpirationWarning. | stringa | "Attenzione! La tua licenza sta per scadere il %s.\nAl raggiungimento di questa data, non avrai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data." |
notification.rules.licenseExpirationWarning.policies | Definisce la politica di invio della notifica licenseExpirationWarning. | oggetto | |
notification.rules.licenseExpirationWarning.policies.repeatInterval | Definisce il momento in cui la notifica licenseExpirationWarning verrà inviata (non più frequentemente del periodo specificato). | stringa | "1d" |
notification.rules.licenseExpirationError | Definisce le regole per le impostazioni della notifica licenseExpirationError. | oggetto | |
notification.rules.licenseExpirationError.enable | Definisce se la notifica licenseExpirationError è abilitata. Ogni tipo di notifica deve essere abilitato separatamente. | booleano | false |
notification.rules.licenseExpirationError.transportType | Definisce il modo di invio della notifica licenseExpirationError. Attualmente, è disponibile solo il tipo email. | array di stringhe | ["email"] |
notification.rules.licenseExpirationError.template | Definisce un modello per il titolo e il corpo della notifica licenseExpirationError. | oggetto | |
notification.rules.licenseExpirationError.template.title | Definisce un modello per il titolo della notifica licenseExpirationError. | stringa | "%s Avviso di scadenza della licenza Docs" |
notification.rules.licenseExpirationError.template.body | Definisce un modello per il corpo della notifica licenseExpirationError. | stringa | "Attenzione! La tua licenza è scaduta il %s.\nNon hai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data.\nSi prega di contattare sales@onlyoffice.com per discutere il rinnovo della licenza." |
notification.rules.licenseExpirationError.policies | Definisce la politica di invio della notifica licenseExpirationError. | oggetto | |
notification.rules.licenseExpirationError.policies.repeatInterval | Definisce il momento in cui la notifica licenseExpirationError verrà inviata (non più frequentemente del periodo specificato). | stringa | "1d" |
notification.rules.licenseLimitEdit | Definisce le regole per le impostazioni della notifica licenseLimitEdit. | oggetto | |
notification.rules.licenseLimitEdit.enable | Definisce se la notifica licenseLimitEdit è abilitata. Ogni tipo di notifica deve essere abilitato separatamente. | booleano | false |
notification.rules.licenseLimitEdit.transportType | Definisce il modo di invio della notifica licenseLimitEdit. Attualmente, è disponibile solo il tipo email. | array di stringhe | ["email"] |
notification.rules.licenseLimitEdit.template | Definisce un modello per il titolo e il corpo della notifica licenseLimitEdit. | oggetto | |
notification.rules.licenseLimitEdit.template.title | Definisce un modello per il titolo della notifica licenseLimitEdit. | stringa | "%s Avviso di limite di connessione della licenza Docs" |
notification.rules.licenseLimitEdit.template.body | Definisce un modello per il corpo della notifica licenseLimitEdit. | stringa | "Attenzione! Hai raggiunto il %s%% del limite %s impostato dalla tua licenza." |
notification.rules.licenseLimitEdit.policies | Definisce la politica di invio della notifica licenseLimitEdit. | oggetto | |
notification.rules.licenseLimitEdit.policies.repeatInterval | Definisce il momento in cui la notifica licenseLimitEdit verrà inviata (non più frequentemente del periodo specificato). | stringa | "1d" |
notification.rules.licenseLimitLiveViewer | Definisce le regole per le impostazioni della notifica licenseLimitLiveViewer. | oggetto | |
notification.rules.licenseLimitLiveViewer.enable | Definisce se la notifica licenseLimitLiveViewer è abilitata. Ogni tipo di notifica deve essere abilitato separatamente. | booleano | false |
notification.rules.licenseLimitLiveViewer.transportType | Definisce il modo di invio della notifica licenseLimitLiveViewer. Attualmente, è disponibile solo il tipo email. | array di stringhe | ["email"] |
notification.rules.licenseLimitLiveViewer.template | Definisce un modello per il titolo e il corpo della notifica licenseLimitLiveViewer. | oggetto | |
notification.rules.licenseLimitLiveViewer.template.title | Definisce un modello per il titolo della notifica licenseLimitLiveViewer. | stringa | "%s Avviso di limite di connessione della licenza Docs" |
notification.rules.licenseLimitLiveViewer.template.body | Definisce un modello per il corpo della notifica licenseLimitLiveViewer. | stringa | "Attenzione! Hai raggiunto il %s%% del limite %s impostato dalla tua licenza." |
notification.rules.licenseLimitLiveViewer.policies | Definisce la politica di invio delle notifiche licenseLimitLiveViewer. | oggetto | |
notification.rules.licenseLimitLiveViewer.policies.repeatInterval | Definisce il tempo in cui la notifica licenseLimitLiveViewer verrà inviata (non più frequentemente del periodo specificato). | stringa | "1d" |
Questi parametri definiscono le impostazioni delle notifiche.
Vengono inviate notifiche con i seguenti tipi di eventi e contenuti:
-
Superato il 70% della quota di connessione (quota di utenti unici).
Avviso di limite di connessione della licenza: "Attenzione! Hai raggiunto il 70% del limite di connessioni impostato dalla tua licenza."
-
Raggiunta la quota di connessione (quota di utenti unici).
Avviso di limite di connessione della licenza: "Attenzione! Hai raggiunto il 100% del limite di connessioni impostato dalla tua licenza."
-
30 giorni prima della scadenza della licenza.
Avviso di scadenza della licenza: "Attenzione! La tua licenza sta per scadere l'8 settembre 2024. Al raggiungimento di questa data, non avrai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data."
-
La licenza è scaduta.
Avviso di limite di connessione della licenza: "Attenzione! La tua licenza è scaduta l'8 settembre 2024. Non hai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data. Si prega di contattare sales@onlyoffice.com per discutere il rinnovo della licenza."
Queste notifiche vengono scritte nel registro del server con livello WARN o ERROR.
Esempio
"notification": {
"rules": {
"licenseExpirationWarning": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Avviso di scadenza della licenza Docs",
"body": "Attenzione! La tua licenza sta per scadere il %s.\nAl raggiungimento di questa data, non avrai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data."
},
"policies": {
"repeatInterval": "1d"
}
},
"licenseExpirationError": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Avviso di scadenza della licenza Docs",
"body": "Attenzione! La tua licenza è scaduta il %s.\nNon hai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data.\nSi prega di contattare sales@onlyoffice.com per discutere il rinnovo della licenza."
},
"policies": {
"repeatInterval": "1d"
}
},
"licenseLimitEdit": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Avviso di limite di connessione della licenza Docs",
"body": "Attenzione! Hai raggiunto il %s%% del limite %s impostato dalla tua licenza."
},
"policies": {
"repeatInterval": "1h"
}
},
"licenseLimitLiveViewer": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Avviso di limite di connessione della licenza Docs",
"body": "Attenzione! Hai raggiunto il %s%% del limite di visualizzazione dal vivo %s impostato dalla tua licenza."
},
"policies": {
"repeatInterval": "1h"
}
}
}
}
Servizio di archiviazione documenti
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
storage.name | Definisce il nome del servizio di archiviazione documenti. Ad esempio, il valore "storage-s3" consente di collegare un bucket Amazon S3 come cache. Il valore "storage-az" consente di collegare MS Azure Blob Storage come cache. | stringa | "storage-fs" |
storage.fs | Definisce i parametri dell'oggetto fileSystem. | oggetto | |
storage.fs.folderPath | Definisce un percorso alla cartella App_Data dove sono archiviati tutti i file. | stringa | "" |
storage.fs.urlExpires | Definisce il tempo in cui l'URL temporaneo all'oggetto fileSystem scade (misurato in secondi). | intero | 900 |
storage.fs.secretString | Definisce la stringa segreta utilizzata per firmare l'URL. | stringa | "verysecretstring" |
storage.region | Definisce una regione AWS in cui risiede il tuo bucket Amazon. | stringa | "" |
storage.endpoint | Definisce l'endpoint di archiviazione documenti S3 AWS o MS Azure Blob Storage. | stringa | "http://localhost/s3" |
storage.bucketName | Definisce un nome univoco per l'archiviazione documenti S3 AWS o MS Azure Blob Storage. | stringa | "cache" |
storage.storageFolderName | Definisce il nome della cartella di archiviazione documenti S3 AWS dove sono archiviati tutti i file. | stringa | "files" |
storage.cacheFolderName | Definisce il nome della cartella cache per lavorare in modalità multi-tenant. | stringa | "data" |
storage.commandOptions | Definisce i parametri che consentono di personalizzare i comandi a un'archiviazione, ad esempio, abilitando AWS KMS. | oggetto | |
storage.commandOptions.s3 | Definisce i parametri che consentono di personalizzare i comandi all'archiviazione documenti S3 AWS. | oggetto | |
storage.commandOptions.s3.putObject | Definisce i parametri del tipo di comando putObject utilizzato per caricare un oggetto in un bucket S3 specificato. | oggetto | |
storage.commandOptions.s3.putObject.ServerSideEncryption | Definisce il tipo di crittografia per il nuovo oggetto caricato. I valori disponibili sono "aws:kms" o "AES256". | stringa | |
storage.commandOptions.s3.putObject.BucketKeyEnabled | Questa è un'impostazione opzionale. Ottimizza il costo per richiesta riducendo le chiamate all'API KMS. | booleano | |
storage.commandOptions.s3.putObject.SSEKMSKeyId | Definisce l'identificatore (ARN o chiave) della Chiave Gestita dal Cliente in AWS KMS utilizzata per crittografare l'oggetto dopo il caricamento. | stringa | |
storage.commandOptions.s3.getObject | Definisce i parametri del tipo di comando getObject utilizzato per recuperare un oggetto da un bucket S3 specificato. | oggetto | |
storage.commandOptions.s3.copyObject | Definisce i parametri del tipo di comando copyObject utilizzato per creare una copia di un oggetto memorizzato in un bucket S3 specificato. | oggetto | |
storage.commandOptions.s3.copyObject.ServerSideEncryption | Definisce il tipo di crittografia per l'oggetto appena copiato. I valori disponibili sono "aws:kms" o "AES256". | stringa | |
storage.commandOptions.s3.copyObject.BucketKeyEnabled | Questa è un'impostazione opzionale. Ottimizza il costo per richiesta riducendo le chiamate all'API KMS. | booleano | |
storage.commandOptions.s3.copyObject.SSEKMSKeyId | Definisce l'identificatore (ARN o chiave) della Chiave Gestita dal Cliente in AWS KMS utilizzata per crittografare l'oggetto dopo la copia. | stringa | |
storage.commandOptions.s3.copyObject.MetadataDirective | Definisce come Amazon S3 dovrebbe gestire i metadati dell'oggetto di destinazione durante un'operazione di copia. Se il valore è impostato su "COPY", i metadati dall'oggetto sorgente vengono copiati nell'oggetto di destinazione. Se il valore è impostato su "REPLACE", i metadati dell'oggetto di destinazione vengono sostituiti dai metadati forniti nella richiesta copyObject e i metadati dall'oggetto sorgente non vengono copiati. | stringa | "COPY" |
storage.commandOptions.s3.listObjects | Definisce i parametri del tipo di comando listObjects utilizzato per recuperare un elenco di oggetti all'interno di un bucket S3 specificato. | oggetto | |
storage.commandOptions.s3.listObjects.MaxKeys | Definisce il numero massimo di oggetti che vengono restituiti in una risposta. | intero | 1000 |
storage.commandOptions.s3.deleteObject | Definisce i parametri del tipo di comando deleteObject utilizzato per rimuovere un oggetto da un bucket S3 specificato. | oggetto | |
storage.commandOptions.az | Definisce i parametri che consentono di personalizzare i comandi per MS Azure Blob Storage. | oggetto | |
storage.commandOptions.az.uploadData | Definisce i parametri del tipo di comando uploadData utilizzato per caricare dati su MS Azure Blob Storage. | oggetto | |
storage.commandOptions.az.uploadData.encryptionScope | Definisce il nome dell'ambito di crittografia utilizzato per crittografare un blob caricato. | stringa | |
storage.commandOptions.az.uploadStream | Definisce i parametri del tipo di comando uploadStream utilizzato per caricare dati da un flusso su MS Azure Blob Storage. | oggetto | |
storage.commandOptions.az.uploadStream.encryptionScope | Definisce il nome dell'ambito di crittografia utilizzato per crittografare un blob caricato da un flusso. | stringa | |
storage.commandOptions.az.download | Definisce i parametri del tipo di comando download utilizzato per scaricare dati da MS Azure Blob Storage. | oggetto | |
storage.commandOptions.az.syncCopyFromURL | Definisce i parametri del tipo di comando syncCopyFromURL utilizzato per copiare un blob da un URL sorgente a un blob di destinazione. | oggetto | |
storage.commandOptions.az.syncCopyFromURL.encryptionScope | Definisce il nome dell'ambito di crittografia utilizzato per crittografare un blob copiato. | stringa | |
storage.commandOptions.az.listBlobsFlat | Definisce i parametri del tipo di comando listBlobsFlat utilizzato per recuperare un elenco di tutti i blob in un contenitore. | oggetto | |
storage.commandOptions.az.listBlobsFlat.maxPageSize | Definisce il numero massimo di blob da restituire. | intero | 1000 |
storage.commandOptions.az.deleteBlob | Definisce i parametri del tipo di comando deleteBlob utilizzato per rimuovere un blob. | oggetto | |
storage.urlExpires | Definisce il tempo in cui l'URL allo storage documenti S3 AWS scade (misurato in millisecondi). | intero | 604800 |
storage.accessKeyId | Definisce un ID chiave per accedere allo storage documenti S3 AWS o MS Azure Blob Storage. | stringa | "" |
storage.secretAccessKey | Definisce una chiave segreta per accedere allo storage documenti S3 AWS o MS Azure Blob Storage. | stringa | "" |
storage.sslEnabled | Definisce se SSL dello storage documenti S3 AWS è abilitato o meno. | booleano | false |
storage.s3ForcePathStyle | Definisce se le richieste allo storage documenti S3 AWS utilizzano sempre l'indirizzamento in stile percorso. | booleano | true |
storage.externalHost | Definisce un host esterno che viene utilizzato al posto dell'host specificato nella richiesta. | stringa | "" |
storage.useDirectStorageUrls | Definisce l'emissione di link a uno storage esterno: link diretti o link che sono proxy attraverso il Document Server. Impostando questo parametro su true si abilitano i link diretti, mentre il valore false consente di utilizzare link interni (il server fa da proxy alle richieste allo storage). | booleano | false |
Questi parametri definiscono la configurazione del servizio di storage documenti.
Esempio
"storage": {
"name": "storage-fs",
"fs": {
"folderPath": "",
"urlExpires": 900,
"secretString": "verysecretstring"
},
"region": "",
"endpoint": "http://localhost/s3",
"bucketName": "cache",
"storageFolderName": "files",
"cacheFolderName": "data",
"commandOptions": {
"s3": {
"putObject": {},
"getObject": {},
"copyObject": {
"MetadataDirective": "COPY"
},
"listObjects": {
"MaxKeys": 1000
},
"deleteObject": {}
},
"az": {
"uploadData": {},
"uploadStream": {},
"download": {},
"syncCopyFromURL": {},
"listBlobsFlat": {
"maxPageSize": 1000
},
"deleteBlob": {}
}
},
"urlExpires": 604800,
"accessKeyId": "",
"secretAccessKey": "",
"sslEnabled": false,
"s3ForcePathStyle": true,
"externalHost": "",
"useDirectStorageUrls": false
}
Archiviazione persistente
Questi parametri definiscono le impostazioni dell'archiviazione persistente, utilizzata per separare le impostazioni per l'archiviazione della cache dei file dei documenti e l'archiviazione dei file dimenticati e degli errori. Le impostazioni non specificate in questo oggetto vengono ereditate dall'oggetto storage. La separazione è conveniente per gli aggiornamenti del server.
Esempio
"persistentStorage": {
}
RabbitMQ
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
rabbitmq.url |
Definisce l'URL di RabbitMQ. Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| stringa | "amqp://localhost:5672" |
rabbitmq.socketOptions |
Definisce le opzioni del socket RabbitMQ che verranno passate alla libreria del socket (
| oggetto | {} |
rabbitmq.exchangepubsub | Definisce il server di scambio Publisher Subscriber. | oggetto | |
rabbitmq.exchangepubsub.name | Definisce un nome per il server Publisher Subscriber. | stringa | "ds.pubsub" |
rabbitmq.exchangepubsub.options | Definisce le impostazioni del server Publisher Subscriber. | oggetto | |
rabbitmq.exchangepubsub.options.durable | Definisce se la coda sopravviverà ai riavvii del broker. | booleano | true |
rabbitmq.queuepubsub | Definisce la coda Publisher Subscriber. | oggetto | |
rabbitmq.queuepubsub.name | Definisce un nome per la coda Publisher Subscriber. | stringa | "" |
rabbitmq.queuepubsub.options | Definisce le impostazioni della coda Publisher Subscriber. | oggetto | |
rabbitmq.queuepubsub.options.autoDelete | Definisce se la coda verrà eliminata quando il numero di consumatori scende a zero. | booleano | true |
rabbitmq.queuepubsub.options.exclusive | Definisce se la coda sarà limitata alla connessione. | booleano | true |
rabbitmq.queuepubsub.options.arguments | Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL. | oggetto | |
rabbitmq.queuepubsub.options.arguments.x-queue-type | Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Possono essere utilizzate solo code classiche. | stringa | "classic" |
rabbitmq.queueconverttask | Definisce una coda di attività. | oggetto | |
rabbitmq.queueconverttask.name | Definisce un nome per la coda di attività. | stringa | "ds.converttask6" |
rabbitmq.queueconverttask.options | Definisce le impostazioni della coda di attività. | oggetto | |
rabbitmq.queueconverttask.options.durable | Definisce se la coda sopravviverà ai riavvii del broker. | booleano | true |
rabbitmq.queueconverttask.options.maxPriority | Definisce una priorità della coda. | intero | 6 |
rabbitmq.queueconverttask.options.arguments | Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL. | oggetto | |
rabbitmq.queueconverttask.options.arguments.x-queue-type | Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum. | stringa | "classic" |
rabbitmq.queueconvertresponse | Definisce una coda di risposte. | oggetto | |
rabbitmq.queueconvertresponse.name | Definisce un nome per la coda di risposte. | stringa | "ds.convertresponse" |
rabbitmq.queueconvertresponse.options | Definisce le impostazioni della coda di risposte. | oggetto | |
rabbitmq.queueconvertresponse.options.durable | Definisce se la coda sopravviverà ai riavvii del broker. | booleano | true |
rabbitmq.queueconvertresponse.options.arguments | Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL. | oggetto | |
rabbitmq.queueconvertresponse.options.arguments.x-queue-type | Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum. | stringa | "classic" |
rabbitmq.exchangeconvertdead | Definisce un exchange di dead letter. | oggetto | |
rabbitmq.exchangeconvertdead.name | Definisce un nome per l'exchange di dead letter. | stringa | "ds.exchangeconvertdead" |
rabbitmq.exchangeconvertdead.options | Definisce le impostazioni dell'exchange di dead letter. | oggetto | |
rabbitmq.exchangeconvertdead.options.durable | Definisce se la coda sopravviverà ai riavvii del broker. | booleano | true |
rabbitmq.queueconvertdead | Definisce una coda di dead letter. | oggetto | |
rabbitmq.queueconvertdead.name | Definisce un nome per la coda di dead letter. | stringa | "ds.convertdead" |
rabbitmq.queueconvertdead.options | Definisce le impostazioni della coda di dead letter. | oggetto | |
rabbitmq.queueconvertdead.options.durable | Definisce se la coda sopravviverà ai riavvii del broker. | booleano | true |
rabbitmq.queueconvertdead.options.arguments | Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL. | oggetto | |
rabbitmq.queueconvertdead.options.arguments.x-queue-type | Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum. | stringa | "classic" |
rabbitmq.queuedelayed | Definisce la coda ritardata. | oggetto | |
rabbitmq.queuedelayed.name | Definisce un nome per la coda ritardata. | stringa | "ds.delayed" |
rabbitmq.queuedelayed.options | Definisce le impostazioni della coda ritardata. | oggetto | |
rabbitmq.queuedelayed.options.durable | Definisce se la coda sopravviverà ai riavvii del broker. | booleano | true |
rabbitmq.queuedelayed.options.arguments | Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL. | oggetto | |
rabbitmq.queuedelayed.options.arguments.x-queue-type | Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum. | stringa | "classic" |
Questi parametri definiscono la configurazione del broker di messaggi RabbitMQ.
Esempio
"rabbitmq": {
"url": "amqp://localhost:5672",
"socketOptions": {},
"exchangepubsub": {
"name": "ds.pubsub",
"options": {
"durable": true
}
},
"queuepubsub": {
"name": "",
"options": {
"autoDelete": true,
"exclusive": true,
"arguments": {
"x-queue-type": "classic"
}
}
},
"queueconverttask": {
"name": "ds.converttask6",
"options": {
"durable": true,
"maxPriority": 6,
"arguments": {
"x-queue-type": "classic"
}
}
},
"queueconvertresponse": {
"name": "ds.convertresponse",
"options": {
"durable": true,
"arguments": {
"x-queue-type": "classic"
}
}
},
"exchangeconvertdead": {
"name": "ds.exchangeconvertdead",
"options": {
"durable": true
}
},
"queueconvertdead": {
"name": "ds.convertdead",
"options": {
"durable": true,
"arguments": {
"x-queue-type": "classic"
}
}
},
"queuedelayed": {
"name": "ds.delayed",
"options": {
"durable": true,
"arguments": {
"x-queue-type": "classic"
}
}
}
}
ActiveMQ
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
activemq.connectOptions | Definisce le opzioni di connessione ActiveMQ. | oggetto | |
activemq.connectOptions.port | Definisce una porta del server a cui è connesso il contenitore ActiveMQ. | intero | 5672
|
activemq.connectOptions.host | Definisce un host (nome host o indirizzo IP) del server a cui il contenitore ActiveMQ è connesso. | stringa | "localhost" |
activemq.connectOptions.reconnect | Definisce se il modulo ActiveMQ tenterà automaticamente di riconnettersi in caso di disconnessione (true) o meno (false). | booleano | false |
activemq.queueconverttask | Definisce una coda di attività. | stringa | "ds.converttask" |
activemq.queueconvertresponse | Definisce una coda di risposte. | stringa | "ds.convertresponse" |
activemq.queueconvertdead | Definisce una coda di messaggi non recapitabili. | stringa | "ActiveMQ.DLQ" |
activemq.queuedelayed | Definisce la coda ritardata. | stringa | "ds.delayed" |
activemq.topicpubsub | Definisce il topic Publisher Subscriber. | stringa | "ds.pubsub" |
Questi parametri definiscono la configurazione del broker di messaggi ActiveMQ.
Esempio
"activemq": {
"connectOptions": {
"port": 5672,
"host": "localhost",
"reconnect": false
},
"queueconverttask": "ds.converttask",
"queueconvertresponse": "ds.convertresponse",
"queueconvertdead": "ActiveMQ.DLQ",
"queuedelayed": "ds.delayed",
"topicpubsub": "ds.pubsub"
}
Cache DNS
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
dnscache.enable | Definisce se la cache DNS è abilitata o meno. | booleano | true |
dnscache.ttl | Definisce il tempo di scadenza dei record DNS (misurato in secondi). | intero | 300 |
dnscache.cachesize | Definisce la dimensione della cache DNS. | intero | 1000 |
Questi parametri definiscono la configurazione della cache DNS utilizzata per il filtro IP.
Esempio
"dnscache": {
"enable" : true,
"ttl" : 300,
"cachesize" : 1000
}
Protocollo OpenPGP
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
openpgpjs.config | Definisce la configurazione del protocollo OpenPGP. | oggetto | {} |
openpgpjs.encrypt | Definisce le impostazioni di crittografia OpenPGP. | oggetto | |
openpgpjs.encrypt.passwords | Definisce una password utilizzata per la crittografia OpenPGP. | array di stringhe | ["verysecretstring"] |
openpgpjs.decrypt | Definisce le impostazioni di decrittografia OpenPGP. | oggetto | |
openpgpjs.decrypt.passwords | Definisce una password utilizzata per la decrittografia OpenPGP. | array di stringhe | ["verysecretstring"] |
Questi parametri definiscono le impostazioni del protocollo OpenPGP, utilizzato per crittografare la password quando si apre un documento crittografato per la modifica.
Esempio
"openpgpjs": {
"config": {
},
"encrypt": {
"passwords": ["verysecretstring"]
},
"decrypt": {
"passwords": ["verysecretstring"]
}
}
Algoritmo AES-256-GCM
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
aesEncrypt.config | Definisce la configurazione dell'algoritmo AES-256-GCM. | oggetto | |
aesEncrypt.config.keyByteLength | Definisce la lunghezza della chiave misurata in byte. | intero | 32 |
aesEncrypt.config.saltByteLength | Definisce la lunghezza del sale misurata in byte. | intero | 64 |
aesEncrypt.config.initializationVectorByteLength | Definisce la lunghezza del vettore di inizializzazione misurata in byte. | intero | 16 |
aesEncrypt.config.iterationsByteLength | Definisce la lunghezza delle iterazioni misurata in byte. | intero | 5 |
aesEncrypt.secret | Definisce una password utilizzata per la crittografia AES-256-GCM. | stringa | "verysecretstring" |
Questi parametri definiscono le impostazioni dell'algoritmo di crittografia AES-256-GCM utilizzato per la protezione con password dei documenti.
Esempio
"aesEncrypt": {
"config": {
"keyByteLength": 32,
"saltByteLength": 64,
"initializationVectorByteLength": 16,
"iterationsByteLength": 5
},
"secret": "verysecretstring"
}
Collo di bottiglia
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
bottleneck.getChanges | Definisce le opzioni del costruttore per generare limitatori per limitare le richieste al database. | oggetto | {} |
Questo parametro definisce la configurazione di Bottleneck.
Esempio
"bottleneck": {
"getChanges": {
}
}
Certificati di Root del Sistema Windows
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
win-ca.inject | Definisce la modalità di iniezione dei certificati di Root del Sistema Windows. Il "+" indica che viene utilizzato un nuovo metodo sperimentale per installare i certificati. | stringa | "+" |
Questo parametro definisce le impostazioni dei certificati di Root del Sistema Windows.
Esempio
"win-ca": {
"inject": "+"
}
WOPI
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
wopi.enable | Definisce se WOPI è abilitato o meno. | booleano | false |
wopi.host | Definisce l'host WOPI (nome host o indirizzo IP). | stringa | "" |
wopi.htmlTemplate | Definisce un percorso per il template HTML di WOPI. | stringa | "../../web-apps/apps/api/wopi" |
wopi.wopiZone | Definisce una zona che il Document Server utilizza per navigare il browser all'applicazione WOPI. | stringa | "external-http" |
wopi.favIconUrlWord | Definisce un percorso per la favicon dell'editor di documenti. | stringa | "/web-apps/apps/documenteditor/main/resources/img/favicon.ico" |
wopi.favIconUrlCell | Definisce un percorso per la favicon dell'editor di fogli di calcolo. | stringa | "/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico" |
wopi.favIconUrlSlide | Definisce un percorso per la favicon dell'editor di presentazioni. | stringa | "/web-apps/apps/presentationeditor/main/resources/img/favicon.ico" |
wopi.favIconUrlPdf | Definisce un percorso per la favicon dell'editor PDF. | stringa | "/web-apps/apps/pdfeditor/main/resources/img/favicon.ico" |
wopi.favIconUrlDiagram | Definisce un percorso per la favicon dell'editor di diagrammi. | stringa | "/web-apps/apps/visioeditor/main/resources/img/favicon.ico" |
wopi.fileInfoBlockList | Definisce un elenco di parametri di informazioni sui file WOPI che sono bloccati quando si invia questo array al browser. Tuttavia, questi parametri sono disponibili sul server. | array di stringhe | ["FileUrl"] |
wopi.pdfView | Definisce i tipi di file che possono essere visualizzati nell'editor PDF.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.pdfEdit |
Definisce i tipi di file che possono essere modificati nell'editor PDF.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.forms |
Definisce i tipi di file di modulo.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.wordView |
Definisce i tipi di file che possono essere visualizzati nell'editor di documenti.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.wordEdit |
Definisce i tipi di file che possono essere modificati nell'editor di documenti.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.cellView |
Definisce i tipi di file che possono essere visualizzati nell'editor di fogli di calcolo.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.cellEdit |
Definisce i tipi di file che possono essere modificati nell'editor di fogli di calcolo.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.slideView |
Definisce i tipi di file che possono essere visualizzati nell'editor di presentazioni.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.slideEdit |
Definisce i tipi di file che possono essere modificati nell'editor di presentazioni.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.diagramView |
Definisce i tipi di file che possono essere visualizzati nell'editor di diagrammi.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.diagramEdit |
Definisce i tipi di file che possono essere modificati nell'editor di diagrammi.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
| array di stringhe | [] |
wopi.publicKey |
Definisce la chiave pubblica che l'integratore utilizza per verificare la chiave privata. Si prega di notare che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| stringa | "" |
wopi.modulus |
Definisce il modulo RSA nel formato codificato in Base64 utilizzato per recuperare la chiave pubblica. Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| string | "" |
wopi.exponent | Definisce l'esponente RSA nel formato codificato in Base64 utilizzato per recuperare la chiave pubblica. | string | 65537 |
wopi.privateKey |
Definisce la chiave privata che firma la richiesta del Document Server. Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| string | "" |
wopi.publicKeyOld |
Definisce la vecchia chiave pubblica che l'integratore utilizzava per verificare la chiave privata. Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| string | "" |
wopi.modulusOld |
Definisce il vecchio modulo RSA nel formato codificato in Base64 che era utilizzato per recuperare la chiave pubblica. Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| string | "" |
wopi.exponentOld | Definisce il vecchio esponente RSA nel formato codificato in Base64 che era utilizzato per recuperare la chiave pubblica. | string | 65537 |
wopi.privateKeyOld |
Definisce la vecchia chiave privata che firmava la richiesta del Document Server. Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
| string | "" |
wopi.refreshLockInterval | Definisce l'intervallo di tempo in minuti per aggiornare il blocco su un file reimpostando il suo timer di scadenza automatica a 30 minuti. | string | "10m" |
wopi.dummy | Definisce le proprietà dei gestori fittizi per il test di stress. | object | |
wopi.dummy.enable | Definisce se i gestori fittizi sono abilitati o meno. | boolean | false |
wopi.dummy.sampleFilePath | Definisce il percorso fittizio al file di esempio. | string | "" |
Questi parametri definiscono la configurazione del protocollo WOPI.
Esempio
"wopi": {
"enable": false,
"host": "",
"htmlTemplate": "../../web-apps/apps/api/wopi",
"wopiZone": "external-http",
"favIconUrlWord": "/web-apps/apps/documenteditor/main/resources/img/favicon.ico",
"favIconUrlCell": "/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico",
"favIconUrlSlide": "/web-apps/apps/presentationeditor/main/resources/img/favicon.ico",
"favIconUrlPdf": "/web-apps/apps/pdfeditor/main/resources/img/favicon.ico",
"favIconUrlDiagram": "/web-apps/apps/visioeditor/main/resources/img/favicon.ico",
"fileInfoBlockList": ["FileUrl"],
"pdfView": [],
"pdfEdit": [],
"forms": [],
"wordView": [],
"wordEdit": [],
"cellView": [],
"cellEdit": [],
"slideView": [],
"slideEdit": [],
"diagramView": [],
"diagramEdit": [],
"publicKey": "",
"modulus": "",
"exponent": 65537,
"privateKey": "",
"publicKeyOld": "",
"modulusOld": "",
"exponentOld": 65537,
"privateKeyOld": "",
"refreshLockInterval": "10m",
"dummy": {
"enable": false,
"sampleFilePath": ""
}
}
Tenant
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
tenants.baseDir | Definisce una directory che limita i file che possono essere accessibili da ONLYOFFICE Docs. | string | "" |
tenants.baseDomain | Definisce il nome di dominio base del tenant. | string | "" |
tenants.filenameConfig | Definisce il nome del file di configurazione nella cartella del tenant per sovrascrivere default.json. Viene utilizzato in modalità multi-tenant per inizializzare le impostazioni specifiche del tenant (wopi, ipfilter, jwt secret ecc.). | string | "config.json" |
tenants.filenameSecret | Definisce il nome del file .pem dove è memorizzata la chiave segreta del tenant. | string | "secret.key" |
tenants.filenameLicense | Definisce il nome del file dove è memorizzata la licenza del tenant. | string | "license.lic" |
tenants.defaultTenant | Definisce il nome di dominio del tenant predefinito. | string | "localhost" |
tenants.cache | Definisce le proprietà della cache per la lettura della licenza multi-tenant e del segreto. | object | |
tenants.cache.stdTTL | Definisce il TTL (tempo di vita) per ogni elemento di cache generato (misurato in secondi). | integer | 300 |
tenants.cache.checkperiod | Definisce il periodo utilizzato per l'intervallo di controllo dell'eliminazione automatica (misurato in secondi). | integer | 60 |
tenants.cache.useClones | Definisce se le variabili memorizzate in cache verranno clonate o meno. Se true, verrà creata una copia della variabile memorizzata in cache. Se false, verrà salvato solo il riferimento. | boolean | false |
Questi parametri definiscono le proprietà dei tenant per lavorare in modalità multi-tenant.
Esempio
"tenants": {
"baseDir" : "",
"baseDomain" : "",
"filenameConfig" : "config.json",
"filenameSecret" : "secret.key",
"filenameLicense" : "license.lic",
"defaultTenant" : "localhost",
"cache": {
"stdTTL": 300,
"checkperiod": 60,
"useClones": false
},
}
Richiesta esterna
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
externalRequest.directIfIn | Definisce gli indirizzi IP che sono consentiti per le richieste dirette. | oggetto | |
externalRequest.directIfIn.allowList | Definisce un elenco di indirizzi IP considerati affidabili per le richieste dirette. | lista | [] |
externalRequest.directIfIn.jwtToken | Definisce se gli indirizzi IP affidabili sono nel JWT o meno. | booleano | true |
externalRequest.action | Definisce le opzioni di richiesta esterna. | oggetto | |
externalRequest.action.allow | Definisce se le richieste esterne sono consentite o meno. | booleano | true |
externalRequest.action.blockPrivateIP | Definisce se l'indirizzo IP privato sarà bloccato o meno. | booleano | true |
externalRequest.action.proxyUrl | Definisce l'URL del proxy. | stringa | "" |
externalRequest.action.proxyUser | Definisce i parametri di autenticazione del proxy. | oggetto | |
externalRequest.action.proxyUser.username | Definisce il nome utente per l'autenticazione del proxy. | stringa | "" |
externalRequest.action.proxyUser.password | Definisce la password per l'autenticazione del proxy. | stringa | "" |
externalRequest.action.proxyHeaders | Definisce le intestazioni del proxy. | oggetto | {} |
Questi parametri definiscono la configurazione delle richieste esterne.
Esempio
"externalRequest": {
"directIfIn" : {
"allowList": [],
"jwtToken": true
},
"action": {
"allow": true,
"blockPrivateIP": true,
"proxyUrl": "",
"proxyUser": {
"username": "",
"password": ""
},
"proxyHeaders": {
}
}
}
Servizi del Document Server
Questi parametri definiscono le impostazioni per i servizi del Document Server.
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring | Definisce le impostazioni per la sessione di modifica in co-autore. | oggetto |
Server
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.server.port | Definisce la porta del server. | intero | 8000 |
services.CoAuthoring.server.workerpercpu | Definisce un numero di thread di lavoro per CPU. | intero | 1 |
services.CoAuthoring.server.mode | Definisce la modalità del server. | stringa | "development" |
services.CoAuthoring.server.limits_tempfile_upload | Definisce una dimensione massima per tutti i file temporanei caricati utilizzati da ciascun processo (misurata in byte). | intero | 104857600 |
services.CoAuthoring.server.limits_image_size | Definisce una dimensione massima per tutte le immagini caricate in ciascun processo (misurata in byte). | intero | 26214400 |
services.CoAuthoring.server.limits_image_download_timeout | Definisce le proprietà di timeout per il download delle immagini. | oggetto | |
services.CoAuthoring.server.limits_image_download_timeout.connectionAndInactivity |
Definisce un periodo che specifica due timeout:
Questo parametro viene inviato al modulo npm. | stringa | "2m" |
services.CoAuthoring.server.limits_image_download_timeout.wholeCycle | Definisce l'intero ciclo di richiesta - un periodo dall'inizio del download al download completo. | stringa | "2m" |
services.CoAuthoring.server.callbackRequestTimeout | Definisce le proprietà di timeout per la richiesta di callback. | oggetto | |
services.CoAuthoring.server.callbackRequestTimeout.connectionAndInactivity |
Definisce un periodo che specifica due timeout:
Questo parametro viene inviato al modulo npm. | stringa | "10m" |
services.CoAuthoring.server.callbackRequestTimeout.wholeCycle | Definisce il timeout dell'intero ciclo di richiesta. | stringa | "10m" |
services.CoAuthoring.server.healthcheckfilepath | Definisce un percorso dove verranno inviate le richieste di controllo dello stato. | stringa | "../public/healthcheck.docx" |
services.CoAuthoring.server.savetimeoutdelay | Definisce il tempo di ritardo di avvio della conversione (misurato in millisecondi) dopo che il file modificato è stato chiuso. | integer | 5000 |
services.CoAuthoring.server.edit_singleton | Definisce se il singleton può essere modificato o meno. | boolean | false |
services.CoAuthoring.server.forgottenfiles | Definisce un nome di cartella dove vengono archiviati tutti i file dimenticati. | string | "forgotten" |
services.CoAuthoring.server.forgottenfilesname | Definisce un nome per il file dimenticato. | string | "output" |
services.CoAuthoring.server.maxRequestChanges | Definisce una dimensione massima delle modifiche richieste. | integer | 20000 |
services.CoAuthoring.server.openProtectedFile | Definisce se i file protetti da password possono essere aperti o meno. | boolean | true |
services.CoAuthoring.server.isAnonymousSupport | Definisce se gli utenti anonimi hanno accesso all'editor o al visualizzatore dal vivo o meno. | boolean | true |
services.CoAuthoring.server.editorDataStorage | Definisce l'archiviazione dei dati dell'editor. I valori possibili: "editorDataRedis", "". | string | "editorDataRedis" |
services.CoAuthoring.server.editorStatStorage | Definisce l'archiviazione dei dati dell'editor per il calcolo delle licenze e delle statistiche (memoria locale o redis). I valori possibili sono "editorDataMemory", "editorDataRedis", o "". Il valore predefinito "" significa che verrà utilizzato il valore del parametro editorDataStorage. Questo parametro è utilizzato principalmente per un cluster sharded. | string | "" |
services.CoAuthoring.server.assemblyFormatAsOrigin | Definisce se il file assemblato viene salvato nel suo formato originale o meno. | boolean | true |
services.CoAuthoring.server.newFileTemplate | Definisce un percorso per il modello di file "nuovo" se un file di 0 byte è stato ricevuto dal link per l'apertura. | string | "../../document-templates/new" |
services.CoAuthoring.server.documentFormatsFile | Definisce un percorso per il file "onlyoffice-docs-formats". | string | "../../document-formats/onlyoffice-docs-formats.json" |
services.CoAuthoring.server.downloadFileAllowExt | Definisce le estensioni che possono essere scaricate tramite il gestore downloadFile. | array di stringhe | ["pdf", "xlsx"] |
services.CoAuthoring.server.tokenRequiredParams | Definisce se i parametri token richiesti verranno validati. Questo è necessario per la sicurezza. Ad esempio, il token di conversione non verrà utilizzato per aprire un documento. | boolean | true |
services.CoAuthoring.server.forceSaveUsingButtonWithoutChanges | Definisce se un file senza alcuna modifica può essere salvato forzatamente cliccando sul pulsante Salva. | boolean | false |
Questi parametri definiscono la configurazione del server.
Esempio
"services": {
"CoAuthoring": {
"server": {
"port": 8000,
"workerpercpu": 1,
"mode": "development",
"limits_tempfile_upload": 104857600,
"limits_image_size": 26214400,
"limits_image_download_timeout": {
"connectionAndInactivity": "2m",
"wholeCycle": "2m"
},
"callbackRequestTimeout": {
"connectionAndInactivity": "10m",
"wholeCycle": "10m"
},
"healthcheckfilepath": "../public/healthcheck.docx",
"savetimeoutdelay": 5000,
"edit_singleton": false,
"forgottenfiles": "forgotten",
"forgottenfilesname": "output",
"maxRequestChanges": 20000,
"openProtectedFile": true,
"isAnonymousSupport": true,
"editorDataStorage": "editorDataRedis",
"editorStatStorage": "",
"assemblyFormatAsOrigin": true,
"newFileTemplate" : "../../document-templates/new",
"documentFormatsFile": "../../document-formats/onlyoffice-docs-formats.json",
"downloadFileAllowExt": ["pdf", "xlsx"],
"tokenRequiredParams": true,
"forceSaveUsingButtonWithoutChanges": false
}
}
}
Richiesta predefinita
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.requestDefault.headers | Definisce gli header HTTP predefiniti della richiesta. | oggetto | |
services.CoAuthoring.requestDefault.headers.User-Agent | Definisce l'header User-Agent predefinito della richiesta. | stringa | "Node.js/6.13" |
services.CoAuthoring.requestDefault.headers.Connection | Definisce l'header Connection predefinito della richiesta. | stringa | "Keep-Alive" |
services.CoAuthoring.requestDefault.rejectUnauthorized | Definisce se i certificati verranno verificati dal Document Server o meno. | boolean | true |
Questi parametri definiscono la configurazione predefinita della richiesta.
Esempio
"services": {
"CoAuthoring": {
"requestDefaults": {
"headers": {
"User-Agent": "Node.js/6.13",
"Connection": "Keep-Alive"
},
"rejectUnauthorized": true
}
}
}
Assemblaggio automatico
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.autoAssembly.enable | Definisce se il salvataggio forzato automatico è abilitato o meno. | boolean | false |
services.CoAuthoring.autoAssembly.interval | Definisce l'intervallo di tempo in minuti per avviare il salvataggio forzato automatico. | stringa | "5m" |
services.CoAuthoring.autoAssembly.step | Definisce il ritardo in minuti tra gli intervalli. | string | "1m" |
Questi parametri definiscono la configurazione automatica del salvataggio forzato.
Esempio
"services": {
"CoAuthoring": {
"autoAssembly": {
"enable": false,
"interval": "5m",
"step": "1m"
}
}
}
Utils
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.utils.utils_common_fontdir | Definisce una directory dove sono memorizzati tutti i font. | string | "null" |
services.CoAuthoring.utils.utils_fonts_search_patterns | Definisce i modelli per la ricerca dei file di font delle estensioni corrispondenti. | string | "*.ttf;*.ttc;*.otf" |
services.CoAuthoring.utils.limits_image_types_upload | Definisce i formati di immagine supportati per il caricamento. | string | "jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif" |
Questi parametri definiscono la configurazione degli strumenti.
Esempio
"services": {
"CoAuthoring": {
"utils": {
"utils_common_fontdir": "null",
"utils_fonts_search_patterns": "*.ttf;*.ttc;*.otf",
"limits_image_types_upload": "jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif"
}
}
}
SQL
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.sql.type | Definisce il tipo di database (mysql, mariadb, mssql, postgres, dameng, oracle). | string | "postgres" |
services.CoAuthoring.sql.tableChanges | Definisce il nome della tabella del database dove sono memorizzate tutte le modifiche al documento. | string | "doc_changes" |
services.CoAuthoring.sql.tableResult | Definisce il nome della tabella del database dove è memorizzato il risultato della query. | string | "task_result" |
services.CoAuthoring.sql.dbHost | Definisce l'host del server del database (nome host o indirizzo IP). | string | "localhost" |
services.CoAuthoring.sql.dbPort | Definisce la porta del server del database. | integer | 5432 |
services.CoAuthoring.sql.dbName | Definisce un nome di un database da creare all'avvio dell'immagine. | string | "onlyoffice" |
services.CoAuthoring.sql.dbUser | Definisce un nuovo nome utente con permessi di superutente per l'account del database. | string | "onlyoffice" |
services.CoAuthoring.sql.dbPass | Definisce una password impostata per l'account del database. | string | "onlyoffice" |
services.CoAuthoring.sql.charset | Definisce il set di caratteri del database. | string | "utf8" |
services.CoAuthoring.sql.connectionlimit | Definisce il numero massimo di connessioni simultanee degli utenti al server del database. | integer | 10 |
services.CoAuthoring.sql.max_allowed_packet | Definisce la dimensione massima dei dati che possono essere inviati in una richiesta. | integer | 1048575 |
services.CoAuthoring.sql.pgPoolExtraOptions | Definisce i parametri che possono essere passati direttamente alla libreria node-postgres pool. | object | |
services.CoAuthoring.sql.pgPoolExtraOptions.idleTimeoutMillis | Definisce un numero di millisecondi in cui un client deve rimanere inattivo nel pool e non essere controllato prima di essere disconnesso dal backend e scartato. Impostare a 0 per disabilitare la disconnessione automatica dei client inattivi. | integer | 30000 |
services.CoAuthoring.sql.pgPoolExtraOptions.maxLifetimeSeconds | Definisce un numero di secondi che rappresenta la durata massima. | integer | 60000 |
services.CoAuthoring.sql.pgPoolExtraOptions.statement_timeout | Definisce un numero di millisecondi prima che la dichiarazione della query scada. | integer | 60000 |
services.CoAuthoring.sql.pgPoolExtraOptions.query_timeout | Definisce un numero di millisecondi prima che una chiamata di query scada. | integer | 60000 |
services.CoAuthoring.sql.pgPoolExtraOptions.connectionTimeoutMillis | Definisce un numero di millisecondi di attesa per una connessione. | integer | 60000 |
services.CoAuthoring.sql.damengExtraOptions | Definisce i parametri del database Dameng. | object | |
services.CoAuthoring.sql.damengExtraOptions.columnNameUpperCase | Definisce se i nomi delle colonne sono in maiuscolo o meno. | boolean | false |
services.CoAuthoring.sql.damengExtraOptions.columnNameCase | Definisce il caso dei nomi delle colonne. | stringa | "lower" |
services.CoAuthoring.sql.damengExtraOptions.connectTimeout | Definisce il numero di millisecondi di attesa per una connessione. | intero | 60000 |
services.CoAuthoring.sql.damengExtraOptions.loginEncrypt | Definisce se la crittografia del login è abilitata o meno. | booleano | false |
services.CoAuthoring.sql.damengExtraOptions.localTimezone | Definisce il fuso orario locale. | intero | 0 |
services.CoAuthoring.sql.damengExtraOptions.poolTimeout | Definisce il numero di secondi dopo i quali il pool termina le connessioni inattive (non utilizzate nel pool). | intero | 60 |
services.CoAuthoring.sql.damengExtraOptions.socketTimeout | Definisce il numero di millisecondi in cui una richiesta di connessione effettuata da un client o un server non riceve una risposta dall'altra estremità. | intero | 60000 |
services.CoAuthoring.sql.damengExtraOptions.queueTimeout | Definisce il numero di millisecondi in cui i messaggi vengono mantenuti in coda prima di essere scartati. | intero | 60000 |
services.CoAuthoring.sql.oracleExtraOptions | Definisce i parametri del database Oracle. | oggetto | |
services.CoAuthoring.sql.oracleExtraOptions.thin | Definisce la connessione a Oracle in modalità Thick utilizzando Oracle Instant Client in un cluster. | booleano | true |
services.CoAuthoring.sql.oracleExtraOptions.connectTimeout | Definisce il numero di secondi di attesa per una connessione. | intero | 60 |
services.CoAuthoring.sql.msSqlExtraOptions | Definisce i parametri del database MS SQL. | oggetto | |
services.CoAuthoring.sql.msSqlExtraOptions.options | Definisce le opzioni del database MS SQL. | oggetto | |
services.CoAuthoring.sql.msSqlExtraOptions.options.encrypt | Definisce se i dati verranno crittografati prima di essere inviati sulla rete. | booleano | false |
services.CoAuthoring.sql.msSqlExtraOptions.options.trustServerCertificate | Definisce se avviene una crittografia quando non c'è un certificato server verificato. | booleano | true |
services.CoAuthoring.sql.msSqlExtraOptions.pool | Definisce i parametri del pool di connessione. | oggetto | |
services.CoAuthoring.sql.msSqlExtraOptions.pool.idleTimeoutMillis | Definisce il numero di millisecondi in cui un client deve rimanere inattivo nel pool e non essere controllato prima di essere disconnesso dal backend e scartato. Impostare a 0 per disabilitare la disconnessione automatica dei client inattivi. | intero | 30000 |
services.CoAuthoring.sql.mysqlExtraOptions | Definisce i parametri di connessione del database MySQL (inclusi i parametri SSL) che possono essere passati direttamente al modulo node-mysql2. | oggetto | |
services.CoAuthoring.sql.mysqlExtraOptions.connectTimeout | Definisce il numero di millisecondi di attesa per una connessione. | intero | 60000 |
services.CoAuthoring.sql.mysqlExtraOptions.queryTimeout | Definisce il numero di millisecondi prima che una chiamata di query vada in timeout. | intero | 60000 |
Questi parametri definiscono la configurazione del database.
Esempio
"services": {
"CoAuthoring": {
"sql": {
"type": "postgres",
"tableChanges": "doc_changes",
"tableResult": "task_result",
"dbHost": "localhost",
"dbPort": 5432,
"dbName": "onlyoffice",
"dbUser": "onlyoffice",
"dbPass": "onlyoffice",
"charset": "utf8",
"connectionlimit": 10,
"max_allowed_packet": 1048575,
"pgPoolExtraOptions": {
"idleTimeoutMillis": 30000,
"maxLifetimeSeconds": 60000,
"statement_timeout": 60000,
"query_timeout": 60000,
"connectionTimeoutMillis": 60000
},
"damengExtraOptions": {
"columnNameUpperCase": false,
"columnNameCase": "lower",
"connectTimeout": 60000,
"loginEncrypt": false,
"localTimezone": 0,
"poolTimeout": 60,
"socketTimeout": 60000,
"queueTimeout": 60000
},
"oracleExtraOptions": {
"thin": true,
"connectTimeout": 60
},
"msSqlExtraOptions": {
"options": {
"encrypt": false,
"trustServerCertificate": true
},
"pool": {
"idleTimeoutMillis": 30000
}
},
"mysqlExtraOptions": {
"connectTimeout": 60000,
"queryTimeout": 60000
}
}
}
}
Redis
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.redis.name | Definisce il nome del database, "redis" o "ioredis". | stringa | "redis" |
services.CoAuthoring.redis.prefix | Definisce il prefisso del nome per tutte le strutture utilizzate in Redis. | stringa | "ds:" |
services.CoAuthoring.redis.host | Definisce l'host del server Redis (nome host o indirizzo IP). | stringa | "127.0.0.1" |
services.CoAuthoring.redis.port | Definisce la porta del server Redis. | intero | 6379 |
services.CoAuthoring.redis.options | Definisce i parametri (nome utente, password, moduli ecc.) che possono essere passati direttamente alla libreria node-redis createClient. | oggetto | {} |
services.CoAuthoring.redis.optionsCluster | Definisce i parametri (rootNodes, defaults, modules ecc.) che possono essere passati direttamente alla libreria node-redis clustering per connettersi al cluster redis. Questa impostazione ha la priorità sul parametro options per la connessione al singolo redis. | oggetto | {} |
services.CoAuthoring.redis.iooptions | Definisce i parametri (username, password, modules ecc.) che possono essere passati direttamente alla libreria ioredis RedisOptions. | oggetto | |
services.CoAuthoring.redis.iooptions.lazyConnect | Definisce se la connessione al server sarà ritardata fino all'invio del primo comando o alla chiamata esplicita di redis.connect(). | booleano | true |
services.CoAuthoring.redis.iooptionsClusterNodes | Definisce un elenco di nodi del cluster a cui si desidera connettersi che possono essere passati direttamente alla libreria ioredis cluster per connettersi al cluster redis. Questa impostazione ha la priorità sul parametro iooptions per la connessione al singolo redis. | array | [] |
services.CoAuthoring.redis.iooptionsClusterOptions | Definisce i parametri (clusterRetryStrategy, dnsLookup, scaleReads ecc.) che possono essere passati direttamente alla libreria ioredis cluster per connettersi al cluster redis. Questa impostazione ha la priorità sul parametro iooptions per la connessione al singolo redis. | oggetto | |
services.CoAuthoring.redis.iooptionsClusterOptions.lazyConnect | Definisce se la connessione al server sarà ritardata fino all'invio del primo comando o alla chiamata esplicita di redis.connect(). | booleano | true |
Questi parametri definiscono la configurazione di Redis.
Esempio
"services": {
"CoAuthoring": {
"redis": {
"name": "redis",
"prefix": "ds:",
"host": "127.0.0.1",
"port": 6379,
"options": {},
"optionsCluster": {},
"iooptions": {
"lazyConnect": true
},
"iooptionsClusterNodes": [],
"iooptionsClusterOptions": {
"lazyConnect": true
}
}
}
}
Servizio PubSub
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.pubsub.maxChanges | Definisce la dimensione massima delle modifiche che possono essere trasmesse tramite PubSub. Se la dimensione supera il valore specificato, le modifiche verranno lette dal database. | intero | 1000 |
Questo parametro definisce la configurazione del servizio PubSub.
Esempio
"services": {
"CoAuthoring": {
"pubsub": {
"maxChanges": 1000
}
}
}
Scadenza
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.expire.saveLock | Definisce il tempo per il salvataggio dei blocchi. | intero | 60 |
services.CoAuthoring.expire.presence | Definisce il tempo di vita per lo stato di presenza dell'utente. | intero | 300 |
services.CoAuthoring.expire.locks | Definisce il tempo di vita per i blocchi. | intero | 604800 |
services.CoAuthoring.expire.changeindex | Definisce il tempo per la modifica degli indici. | intero | 86400 |
services.CoAuthoring.expire.lockDoc | Definisce il tempo per il blocco dei documenti. | intero | 30 |
services.CoAuthoring.expire.message | Definisce il tempo di vita per i messaggi. | intero | 86400 |
services.CoAuthoring.expire.lastsave | Definisce il tempo di vita per l'ultimo salvataggio del database eseguito con successo. | intero | 604800 |
services.CoAuthoring.expire.forcesave | Definisce il tempo di vita per il salvataggio forzato eseguito con successo. | intero | 604800 |
services.CoAuthoring.expire.forcesaveLock | Definisce il tempo di vita per i blocchi salvati forzatamente in modalità cluster ioredis. | intero | 5000 |
services.CoAuthoring.expire.saved | Definisce il tempo di vita per il salvataggio del database eseguito con successo. | intero | 3600 |
services.CoAuthoring.expire.documentsCron | Definisce il tempo per l'inizio del controllo, durante il quale i vecchi file vengono eliminati dalla cache (ogni due minuti per impostazione predefinita). | stringa | "0 */2 * * * *" |
services.CoAuthoring.expire.files | Definisce il tempo di vita per le cartelle in App_Data. | intero | 86400 |
services.CoAuthoring.expire.filesCron | Definisce il tempo per l'inizio del controllo (ogni ora per impostazione predefinita). | stringa | "00 00 */1 * * *" |
services.CoAuthoring.expire.filesremovedatonce | Definisce il numero di cartelle di documenti eliminate simultaneamente dalla cache. | intero | 100 |
services.CoAuthoring.expire.sessionidle |
Definisce la durata della sessione inattiva. Questo parametro consente di terminare la sessione di modifica per un utente inattivo. Viene anche utilizzato per inizializzare la procedura di salvataggio del documento terminando l'ultima sessione di modifica. Quindi, definisce il tempo dopo il quale un utente inattivo verrà disconnesso dalla sessione di modifica. Il formato del valore è "1s", "1m", "1h", "1d" ecc. Si prega di notare che per inattività si intende l'assenza di qualsiasi azione nell'editor, incluso il movimento del cursore.
| stringa | "1h" |
services.CoAuthoring.expire.sessionabsolute | Definisce la durata per qualsiasi sessione di modifica. | stringa | "30d" |
services.CoAuthoring.expire.sessionclosecommand | Definisce il tempo prima che il sessionidle o sessionabsolute ttl scada, quando viene inviato un messaggio di avviso. | stringa | "2m" |
services.CoAuthoring.expire.pemStdTTL | Definisce la durata di vita dei file PEM con segreti. | stringa | "1h" |
services.CoAuthoring.expire.pemCheckPeriod | Definisce il tempo per controllare il ttl dei file PEM. | stringa | "10m" |
services.CoAuthoring.expire.updateVersionStatus | Definisce il tempo in cui l'utente può riaprire il file dopo che si verifica un errore a causa dell'apertura di un file già salvato utilizzando la vecchia chiave. | stringa | "5m" |
services.CoAuthoring.expire.monthUniqueUsers | Definisce la durata di vita per l'elenco degli utenti unici del mese. | stringa | "1y" |
Questi parametri definiscono le impostazioni di scadenza.
Esempio
"services": {
"CoAuthoring": {
"expire": {
"saveLock": 60,
"presence": 300,
"locks": 604800,
"changeindex": 86400,
"lockDoc": 30,
"message": 86400,
"lastsave": 604800,
"forcesave": 604800,
"forcesaveLock": 5000,
"saved": 3600,
"documentsCron": "0 */2 * * * *",
"files": 86400,
"filesCron": "00 00 */1 * * *",
"filesremovedatonce": 100,
"sessionidle": "1h",
"sessionabsolute": "30d",
"sessionclosecommand": "2m",
"pemStdTTL": "1h",
"pemCheckPeriod": "10m",
"updateVersionStatus": "5m",
"monthUniqueUsers": "1y"
}
}
}
Filtro IP
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.ipfilter.rules |
Definisce le regole del filtro IP che contengono i seguenti parametri:
| array di oggetti | |
services.CoAuthoring.ipfilter.useforrequest | Definisce se il filtro IP è utilizzato per la richiesta o meno. | booleano | false |
services.CoAuthoring.ipfilter.errorcode | Definisce un codice di errore per il filtro IP. | intero | 403 |
Questi parametri definiscono la configurazione del filtro IP.
Esempio
"services": {
"CoAuthoring": {
"ipfilter": {
"rules": [{"address": "*", "allowed": true}],
"useforrequest": false,
"errorcode": 403
}
}
}
Agente di Filtro Richieste
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.request-filtering-agent.allowPrivateIPAddress | Definisce se è consentito connettere un indirizzo IP privato o meno. Questo include indirizzi IP privati e indirizzi IP riservati. | booleano | false |
services.CoAuthoring.request-filtering-agent.allowMetaIPAddress | Definisce se è consentito connettere un indirizzo IP meta o meno. L'indirizzo meta può essere 0.0.0.0 (IPv4) o :: (IPv6) - un indirizzo meta che instrada un altro indirizzo. | booleano | false |
Questi parametri definiscono la configurazione dell'Agente di Filtro Richieste.
Esempio
"services": {
"CoAuthoring": {
"request-filtering-agent" : {
"allowPrivateIPAddress": false,
"allowMetaIPAddress": false
}
}
}
Chiave segreta
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.secret.browser |
Definisce i parametri di una chiave segreta per generare un token nelle richieste del browser lato client a ONLYOFFICE Docs:
| oggetto | |
services.CoAuthoring.secret.inbox |
Definisce i parametri di una chiave segreta per generare un token nelle richieste HTTP in entrata con i comandi dal servizio di archiviazione documenti al servizio di comando documenti, servizio di conversione documenti e servizio di costruzione documenti:
| oggetto | |
services.CoAuthoring.secret.outbox |
Definisce i parametri di una chiave segreta per generare un token nelle richieste HTTP in uscita all'indirizzo
| oggetto | |
services.CoAuthoring.secret.session |
Definisce i parametri di una chiave segreta per generare il token di sessione:
| oggetto |
Questi parametri definiscono la configurazione della chiave segreta.
Esempio
"services": {
"CoAuthoring": {
"secret": {
"browser": {"string": "secret", "file": ""},
"inbox": {"string": "secret", "file": ""},
"outbox": {"string": "secret", "file": ""},
"session": {"string": "secret", "file": ""}
}
}
}
Token
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.token.enable | Definisce se i token sono abilitati o meno. | oggetto | |
services.CoAuthoring.token.enable.browser | Definisce se un token nelle richieste del browser lato client è abilitato o meno. | booleano | false |
services.CoAuthoring.token.enable.request | Definisce se i token nelle richieste HTTP sono abilitati o meno. | oggetto | |
services.CoAuthoring.token.enable.request.inbox | Definisce se un token nelle richieste HTTP in entrata è abilitato o meno. | booleano | false |
services.CoAuthoring.token.enable.request.outbox | Definisce se un token nelle richieste HTTP in uscita è abilitato o meno. | booleano | false |
services.CoAuthoring.token.browser | Definisce la configurazione del token del browser. | oggetto | |
services.CoAuthoring.token.browser.secretFromInbox | Definisce se il token del browser è uguale al token delle richieste in entrata (true) o meno (false). | booleano | true |
services.CoAuthoring.token.inbox | Definisce la configurazione di un token dalle richieste in entrata. | oggetto | |
services.CoAuthoring.token.inbox.header | Definisce l'intestazione HTTP che verrà utilizzata per inviare il token della richiesta in entrata. | stringa | "Authorization" |
services.CoAuthoring.token.inbox.prefix | Definisce un prefisso nell'intestazione HTTP che verrà utilizzato per inviare il token della richiesta in entrata. | stringa | "Bearer " |
services.CoAuthoring.token.inbox.inBody | Definisce se un token è abilitato nel corpo della richiesta in entrata o meno. | booleano | false |
services.CoAuthoring.token.outbox | Definisce la configurazione di un token dalle richieste in uscita. | oggetto | |
services.CoAuthoring.token.outbox.header | Definisce l'intestazione HTTP che verrà utilizzata per inviare il token della richiesta in uscita. | stringa | "Authorization" |
services.CoAuthoring.token.outbox.prefix | Definisce un prefisso nell'intestazione HTTP che verrà utilizzato per inviare il token della richiesta in uscita. | stringa | "Bearer " |
services.CoAuthoring.token.outbox.algorithm | Definisce un algoritmo utilizzato per firmare il token della richiesta in uscita. | stringa | "HS256" |
services.CoAuthoring.token.outbox.expires | Definisce un periodo in cui il token della richiesta in uscita scade. | stringa | "5m" |
services.CoAuthoring.token.outbox.inBody | Definisce se un token è abilitato nel corpo della richiesta in uscita o meno. | booleano | false |
services.CoAuthoring.token.outbox.urlExclusionRegex | Definisce l'espressione regolare che specifica gli URL dai quali l'autorizzazione dovrebbe essere esclusa. La stringa vuota significa che questa opzione è disabilitata. | stringa | "" |
services.CoAuthoring.token.session | Definisce la configurazione del token di sessione. | oggetto | |
services.CoAuthoring.token.session.algorithm | Definisce un algoritmo utilizzato per firmare il token di sessione. | stringa | "HS256" |
services.CoAuthoring.token.session.expires | Definisce un periodo in cui il token di sessione scade. | stringa | "30d" |
services.CoAuthoring.token.verifyOptions | Definisce le opzioni di verifica del token. | oggetto | |
services.CoAuthoring.token.verifyOptions.clockTolerance | Definisce un numero di secondi accettabile per gestire le differenze di orario tra diversi server. | intero | 60 |
Questi parametri definiscono la configurazione del token.
Esempio
"services": {
"CoAuthoring": {
"token": {
"enable": {
"browser": false,
"request": {
"inbox": false,
"outbox": false
}
},
"browser": {
"secretFromInbox": true
},
"inbox": {
"header": "Authorization",
"prefix": "Bearer ",
"inBody": false
},
"outbox": {
"header": "Authorization",
"prefix": "Bearer ",
"algorithm": "HS256",
"expires": "5m",
"inBody": false,
"urlExclusionRegex": ""
},
"session": {
"algorithm": "HS256",
"expires": "30d"
},
"verifyOptions": {
"clockTolerance": 60
}
}
}
}
Plugin
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.plugins.uri | Definisce un percorso alla cartella dove sono memorizzati tutti i plugin. | stringa | "/sdkjs-plugins" |
services.CoAuthoring.plugins.autostart | Definisce un elenco di plugin che vengono eseguiti automaticamente. | lista | [] |
Questi parametri definiscono la configurazione dei plugin.
Esempio
"services": {
"CoAuthoring": {
"plugins": {
"uri": "/sdkjs-plugins",
"autostart": []
}
}
}
Temi
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.themes.uri | Definisce un percorso alla cartella dove sono memorizzati tutti i file json con i temi di colore personalizzati. | stringa | "/web-apps/apps/common/main/resources/themes" |
Questo parametro definisce le proprietà dei temi di colore personalizzati.
Esempio
"services": {
"CoAuthoring": {
"themes": {
"uri": "/web-apps/apps/common/main/resources/themes"
}
}
}
Editor
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.editor.spellcheckerUrl | Definisce un percorso al correttore ortografico. | stringa | "" |
services.CoAuthoring.editor.reconnection | Definisce le impostazioni per riconnettere l'editor al server. | oggetto | |
services.CoAuthoring.editor.reconnection.attempts | Definisce un numero massimo di tentativi per riconnettere l'editor. | intero | 50 |
services.CoAuthoring.editor.reconnection.delay | Definisce il ritardo tra i tentativi di riconnessione dell'editor. | stringa | "2s" |
services.CoAuthoring.editor.binaryChanges | Definisce se le modifiche al documento sono salvate in formato binario (true) o JSON (false). | booleano | false |
services.CoAuthoring.editor.websocketMaxPayloadSize | Definisce una dimensione massima del payload di WebSocket. | stringa | "1.5MB" |
services.CoAuthoring.editor.maxChangesSize | Definisce un limite alla dimensione totale delle modifiche apportate al documento. Quando il limite viene superato, l'utente riceve una finestra di dialogo con un suggerimento per annullare l'ultima azione o passare alla modalità offline. | stringa | "150MB" |
Questi parametri definiscono la configurazione dell'editor.
Esempio
"services": {
"CoAuthoring": {
"editor":{
"spellcheckerUrl": "",
"reconnection":{
"attempts": 50,
"delay": "2s"
},
"binaryChanges": false,
"websocketMaxPayloadSize": "1.5MB",
"maxChangesSize": "150MB"
}
}
}
SockJs
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.sockjs.sockjs_url | Definisce un percorso al file sockjs.min.js. | stringa | "" |
services.CoAuthoring.sockjs.disable_cors | Definisce se CORS sarà disabilitato o meno. Il valore true previene la vulnerabilità dell'intestazione Access-Control-Allow-Origin. | booleano | true |
services.CoAuthoring.sockjs.websocket | Definisce se il protocollo WebSocket è abilitato o meno. | booleano | true |
Questi parametri definiscono la configurazione di SockJs.
Esempio
"services": {
"CoAuthoring": {
"sockjs": {
"sockjs_url": "",
"disable_cors": true,
"websocket": true
}
}
}
Socket.IO
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.socketio.connection | Definisce le proprietà della connessione. | oggetto | |
services.CoAuthoring.socketio.connection.path | Definisce il percorso che viene catturato sul lato server. | string | "/doc/" |
services.CoAuthoring.socketio.connection.serveClient | Definisce se i file client verranno serviti o meno. | boolean | false |
services.CoAuthoring.socketio.connection.pingTimeout |
Definisce il periodo di timeout in millisecondi entro il quale il client deve rispondere con un pong al ping del server.
Se non c'è risposta, il server considera che la connessione sia chiusa.
La connessione tra il server e il client viene verificata ogni pingInterval millisecondi.
| integer | 20000 |
services.CoAuthoring.socketio.connection.pingInterval |
Definisce il tempo di intervallo in millisecondi, utilizzato per verificare se la connessione è ancora attiva tra il server e il client.
Il server invia un pacchetto ping al client, e se il client non risponde con un pong entro un periodo di pingTimeout,
il server considera che la connessione sia chiusa.
| integer | 25000 |
services.CoAuthoring.socketio.connection.maxHttpBufferSize | Definisce il numero massimo di byte che un singolo messaggio può avere, prima di chiudere il socket. | integer | 1e8 |
Questi parametri definiscono la configurazione del modulo Socket.IO.
Esempio
"socketio": {
"connection": {
"path": "/doc/",
"serveClient": false,
"pingTimeout": 20000,
"pingInterval": 25000,
"maxHttpBufferSize": 1e8
}
}
Opzioni di callback backoff
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
services.CoAuthoring.callbackBackoffOptions.retries | Definisce il numero massimo di volte in cui riprovare l'operazione. | integer | 3 |
services.CoAuthoring.callbackBackoffOptions.timeout | Definisce i timeout di callback backoff. | object | |
services.CoAuthoring.callbackBackoffOptions.timeout.factor | Definisce il fattore esponenziale da utilizzare. | integer | 2 |
services.CoAuthoring.callbackBackoffOptions.timeout.minTimeout | Definisce il numero di millisecondi prima di iniziare il primo tentativo. | integer | 1000 |
services.CoAuthoring.callbackBackoffOptions.timeout.maxTimeout | Definisce il numero massimo di millisecondi tra due tentativi. | integer | 2147483647 |
services.CoAuthoring.callbackBackoffOptions.timeout.randomize | Definisce se i timeout sono randomizzati moltiplicandoli con un fattore tra 1 e 2 o meno. | boolean | false |
services.CoAuthoring.callbackBackoffOptions.httpStatus | Definisce gli stati HTTP del callback backoff. | string | "429,500-599" |
Questi parametri definiscono le opzioni di callback backoff.
Esempio
"services": {
"CoAuthoring": {
"callbackBackoffOptions": {
"retries": 3,
"timeout":{
"factor": 2,
"minTimeout": 1000,
"maxTimeout": 2147483647,
"randomize": false
},
"httpStatus": "429,500-599"
}
}
}
Licenza
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
license.license_file | Definisce un percorso per il file di licenza. | string | "" |
license.warning_limit_percents | Definisce un intervallo percentuale delle connessioni e connessioni_view limitazioni, superando le quali appare un avviso di limite di licenza nei log. | integer | 70 |
license.packageType |
Definisce il tipo di pacchetto di licenza: 2 - Developer Edition. Questo parametro è impostato al momento della creazione della versione. Non è necessario configurarlo manualmente.
| integer | 2 |
license.warning_license_expiration | Definisce il tempo prima della scadenza della licenza quando viene inviato un messaggio di avviso. | string | "30d" |
Questi parametri definiscono la configurazione della licenza.
Esempio
"license" : {
"license_file": "",
"warning_limit_percents": 70,
"packageType": 2,
"warning_license_expiration": "30d"
}
Convertitore
| Parametro | Descrizione | Tipo | Predefinito |
|---|---|---|---|
FileConverter.converter | Definisce le proprietà del convertitore. | object | |
FileConverter.converter.maxDownloadBytes | Definisce una dimensione massima del file richiesto (misurata in byte). | integer | 104857600 |
FileConverter.converter.downloadTimeout | Definisce le proprietà di timeout per il download del file convertito. | object | |
FileConverter.converter.downloadTimeout.connectionAndInactivity |
Definisce un periodo che specifica due timeout:
Questo parametro viene inviato al modulo npm. | stringa | "2m" |
FileConverter.converter.downloadTimeout.wholeCycle | Definisce il timeout dell'intero ciclo di richiesta. | stringa | "2m" |
FileConverter.converter.downloadAttemptMaxCount | Definisce un numero massimo di tentativi per scaricare il file convertito. | intero | 3 |
FileConverter.converter.downloadAttemptDelay | Definisce il ritardo tra i tentativi di scaricare il file convertito. | intero | 1000 |
FileConverter.converter.maxprocesscount | Definisce un numero massimo di processi di conversione che possono essere attivi contemporaneamente. | intero | 1 |
FileConverter.converter.fontDir | Definisce un percorso alla cartella con i font. | stringa | "null" |
FileConverter.converter.presentationThemesDir | Definisce un percorso alla cartella con i temi delle presentazioni. | stringa | "null" |
FileConverter.converter.x2tPath | Definisce un percorso al convertitore di file x2t. | stringa | "null" |
FileConverter.converter.docbuilderPath | Definisce un percorso all'applicazione Document Builder. | stringa | "null" |
FileConverter.converter.signingKeyStorePath | Definisce un percorso al certificato di firma PDF. Questo certificato può essere caricato nel Pannello di Amministrazione e utilizzato per firmare i moduli PDF durante Completa e Invia. | stringa | "" |
FileConverter.converter.args | Definisce i parametri aggiuntivi per l'esecuzione di x2t. | stringa | "" |
FileConverter.converter.spawnOptions | Definisce i parametri che possono essere passati direttamente alla libreria node.js child_process.spawn (solo per l'esecuzione di x2t). | oggetto | {} |
FileConverter.converter.errorfiles | Definisce un percorso ai file di errore. | stringa | "" |
FileConverter.converter.streamWriterBufferSize | Definisce la dimensione del buffer StreamWriter. | intero | 8388608 |
FileConverter.converter.maxRedeliveredCount | Definisce un numero massimo di riconsegne dei messaggi. | intero | 2 |
FileConverter.converter.inputLimits | Definisce i limiti per i file di input. | oggetto | |
FileConverter.converter.inputLimits.type | Definisce i tipi di file OOXML per i quali sono specificati i limiti (documenti di testo/fogli di calcolo/presentazioni). Questo non include altri oggetti, come le immagini. | stringa | "docx;dotx;docm;dotm"/"xlsx;xltx;xlsm;xltm"/"pptx;ppsx;potx;pptm;ppsm;potm" |
FileConverter.converter.inputLimits.zip | Definisce le proprietà dell'archivio zip. | oggetto | |
FileConverter.converter.inputLimits.zip.uncompressed | Definisce la dimensione totale del file non compresso per documenti di testo/fogli di calcolo/presentazioni. | stringa | "50MB"/"300MB"/"50MB" |
FileConverter.converter.inputLimits.zip.template | Definisce il modello di nome per i file di cui vengono conteggiate le dimensioni. | stringa | "*.xml" |
Questi parametri definiscono la configurazione del convertitore di file.
Esempio
"FileConverter": {
"converter": {
"maxDownloadBytes": 104857600,
"downloadTimeout": {
"connectionAndInactivity": "2m",
"wholeCycle": "2m"
},
"downloadAttemptMaxCount": 3,
"downloadAttemptDelay": 1000,
"maxprocesscount": 1,
"fontDir": "null",
"presentationThemesDir": "null",
"x2tPath": "null",
"docbuilderPath": "null",
"signingKeyStorePath": "",
"args": "",
"spawnOptions": {},
"errorfiles": "",
"streamWriterBufferSize": 8388608,
"maxRedeliveredCount": 2,
"inputLimits": [
{
"type": "docx;dotx;docm;dotm",
"zip": {
"uncompressed": "50MB",
"template": "*.xml"
}
},
{
"type": "xlsx;xltx;xlsm;xltm",
"zip": {
"uncompressed": "300MB",
"template": "*.xml"
}
},
{
"type": "pptx;ppsx;potx;pptm;ppsm;potm",
"zip": {
"uncompressed": "50MB",
"template": "*.xml"
}
}
]
}
}