Risolvere l'errore "Impossibile salvare il documento" di ONLYOFFICE in Nextcloud

Apri un file DOCX in Nextcloud, ONLYOFFICE si carica normalmente, apporti una modifica e poi l'editor segnala "Impossibile salvare il documento". La conclusione più ovvia è che il browser abbia perso il file o che ONLYOFFICE stesso non sia in grado di scrivere su disco. In un'integrazione con Nextcloud, spesso questo non è il punto di partenza ideale.

Il dettaglio importante riguarda il funzionamento del salvataggio. Nextcloud fornisce a ONLYOFFICE Docs un URL del documento e un percorso di ritorno callbackUrl. ONLYOFFICE scarica il file, ospita la sessione di modifica e successivamente richiama Nextcloud affinché quest'ultimo possa recuperare il file aggiornato e sostituire la versione memorizzata. La documentazione ufficiale sull'integrazione di ONLYOFFICE descrive esplicitamente questo scambio di callback. Ciò significa che l'editor può aprirsi correttamente anche se il percorso di ritorno utilizzato per il salvataggio è interrotto. Azione: trattare l'apertura e il salvataggio come due test di rete separati.

L'editor di documenti Nextcloud mostra il messaggio "Impossibile salvare il documento" in una sessione di modifica ONLYOFFICE.
Una sessione di modifica può caricarsi correttamente, ma fallire comunque quando il documento aggiornato deve essere inviato nuovamente a Nextcloud.

Partiamo dal comportamento verificato, non dal testo di errore.

Secondo la documentazione ufficiale sull'integrazione, il connettore Nextcloud di ONLYOFFICE utilizza un flusso di lavoro server-to-server: il Document Server deve essere raggiungibile da Nextcloud e Nextcloud deve essere raggiungibile dal Document Server. Al termine della modifica, ONLYOFFICE invia una richiesta POST all'URL di callback; Nextcloud scarica quindi il documento modificato e sostituisce la versione precedente. Consultare la guida ufficiale all'integrazione Nextcloud di ONLYOFFICE e la descrizione dell'API di ONLYOFFICE per l'integrazione con Nextcloud .

Verificato: un percorso di callback errato o irraggiungibile può causare un errore di salvataggio anche quando l'editor è aperto. La documentazione di ONLYOFFICE per la risoluzione dei problemi indica specificamente agli amministratori di controllare i log di DocService e verificare che l'URL di callback sia raggiungibile quando si verifica un errore di salvataggio. Azione: non iniziare reinstallando l'editor o cancellando la cache del browser; testare prima il percorso da server a server.

1. Eseguire il controllo di connessione integrato del connettore.

Sull'host Nextcloud, eseguire il controllo del connettore ONLYOFFICE come utente del server web. Su una tipica installazione Debian o Ubuntu:

cd /var/www/nextcloud
sudo -E -u www-data php occ onlyoffice:documentserver --check

Il percorso esatto di Nextcloud e l'utente HTTP possono variare a seconda della distribuzione o della configurazione del container. Il manuale di amministrazione di Nextcloud raccomanda di eseguire il programma occcome utente HTTP per mantenere la proprietà dei file coerente. ONLYOFFICE documenta occ onlyoffice:documentserver --checkil test di connessione del connettore.

Cosa dimostra questo: può rivelare un evidente errore di configurazione o di connettività del Document Server. Cosa non dimostra: ogni callback generato durante una sessione di modifica reale avrà successo attraverso ogni proxy, percorso DNS e livello di autenticazione. Azione: se il controllo ha esito positivo ma il salvataggio continua a fallire, procedere con il callback e i log anziché dichiarare l'integrazione funzionante.

Esempio di terminale che mostra un controllo del connettore ONLYOFFICE e un errore di connettività di callback.
Un controllo della connessione è un primo passo utile, ma un errore nel percorso di ritorno da ONLYOFFICE a Nextcloud è l'indizio più importante quando la modifica funziona ma il salvataggio no.

2. Verificare sia gli indirizzi del server pubblico che quelli interni.

In Nextcloud, apri Impostazioni → Amministrazione → ONLYOFFICE . L'indirizzo principale di ONLYOFFICE Docs deve essere utilizzabile dai client e dai servizi pertinenti. Se gli URL pubblici non sono raggiungibili internamente a causa della rete Docker, del NAT, del DNS split-horizon o delle policy del firewall, espandi le impostazioni avanzate del server.

Il connettore ufficiale espone indirizzi interni separati proprio per questa situazione:

  • Indirizzo della documentazione ONLYOFFICE per le richieste interne dal server : l'indirizzo che Nextcloud utilizza per raggiungere ONLYOFFICE.
  • Indirizzo del server per le richieste interne da ONLYOFFICE Docs : l'indirizzo che ONLYOFFICE utilizza per raggiungere Nextcloud per le callback e il relativo traffico server-to-server.

Ad esempio, due container sulla stessa rete Compose potrebbero utilizzare internamente i nomi dei servizi, mentre i browser continuano a utilizzare i nomi host HTTPS pubblici. Non copiate ciecamente questo schema: i nomi devono effettivamente essere risolvibili nella vostra rete. Azione: testate entrambe le direzioni dalla macchina o dal container che ha originato la richiesta.

Pagina di amministrazione di Nextcloud ONLYOFFICE che mostra i campi URL del server documenti, segreto JWT e indirizzo del server interno.
Gli indirizzi server avanzati sono progettati per implementazioni in cui il nome host pubblico non è il percorso corretto per il traffico da server a server.

Un malinteso comune: "L'editor si apre, quindi DNS e routing sono a posto"

Tale conclusione non è attendibile. Il browser, Nextcloud e ONLYOFFICE Docs sono tre partecipanti di rete diversi. Il browser potrebbe raggiungere un indirizzo IP office.example.commentre il contenitore del Document Server non riesce a risolverlo o a connettersi cloud.example.com. Allo stesso modo, Nextcloud potrebbe raggiungere ONLYOFFICE tramite un nome host interno mentre la funzione di callback punta a un indirizzo pubblico irraggiungibile.

Azione: accedi al container o all'host ONLYOFFICE e verifica l'indirizzo Nextcloud che dovrebbe utilizzare. Una semplice richiesta HTTPS all'host Nextcloud può confermare la raggiungibilità DNS/TCP/TLS, ma ricorda che una status.phprichiesta andata a buon fine non convalida l'effettiva autorizzazione di callback o la gestione POST.

3. Verifica il JWT prima di modificare le regole del proxy.

JWT è un'altra frequente fonte di confusione. A partire dalla versione 7.2 della documentazione di ONLYOFFICE, JWT è abilitato per impostazione predefinita e viene generata automaticamente una chiave segreta. Le istruzioni ufficiali richiedono la stessa chiave segreta sia sul Document Server che nel connettore Nextcloud di ONLYOFFICE. La documentazione attuale del connettore illustra anche l'impostazione authorization-header per le installazioni che non utilizzano l'intestazione predefinita.

Verificato: il segreto condiviso deve corrispondere. Dipendente dalla distribuzione: il punto esatto in cui gestirlo dipende dal fatto che ONLYOFFICE sia installato da pacchetti, su Windows o in Docker. Nelle distribuzioni Docker, JWT_SECRETviene comunemente utilizzata una variabile d'ambiente; la configurazione effettiva del server può essere ispezionata anche in /etc/onlyoffice/documentserver/local.json.

Azione: confronta le impostazioni effettive del segreto e dell'intestazione su entrambi i lati, quindi riavvia i servizi ONLYOFFICE o il container dopo le modifiche lato server. Non "risolvere" il problema disabilitando JWT in modo permanente; in questo modo si rimuove un controllo di sicurezza anziché correggere la configurazione. I dettagli sono disponibili nella guida alla configurazione di JWT di ONLYOFFICE .

Configurazione di ONLYOFFICE e visualizzazione dei log che illustrano le impostazioni JWT e una connessione di callback rifiutata a Nextcloud.
La configurazione JWT e gli errori di callback-network sono gestiti su livelli separati; i log aiutano a determinare se la richiesta è stata rifiutata per l'autenticazione o se non ha mai raggiunto Nextcloud.

4. Esaminare i log di ONLYOFFICE e Nextcloud relativi al momento del salvataggio non riuscito.

ONLYOFFICE consiglia di controllare i log di DocService per eventuali errori di salvataggio. Per le installazioni Linux e Docker, i log di Document Server si trovano in /var/log/onlyoffice/documentserver; gli utenti Docker possono anche seguire l'output del container con docker logs -f <container>. Se sono necessari maggiori dettagli, ONLYOFFICE documenta una modalità di debug temporanea tramite DS_LOG_LEVEL=DEBUGo la configurazione di log4js. Consultare la guida ufficiale alla registrazione di debug .

Su Nextcloud, il file di log predefinito si trova normalmente nextcloud.lognella directory dei dati configurata. È possibile individuare il percorso attivo con:

sudo -E -u www-data php occ log:file

Nextcloud documenta anche log:tailquando log:watchl'app Log Reader è disponibile. Azione: riprodurre un errore di salvataggio, annotare il timestamp, quindi correlare entrambe le parti. Un rifiuto di rete, un errore TLS, una risposta 401/403, una risposta 5xx o un'eccezione di archiviazione indicano soluzioni molto diverse.

5. Risolvere i problemi relativi a TLS e al reverse proxy senza compromettere la sicurezza della produzione.

Un certificato autofirmato o emesso privatamente può compromettere la connessione HTTPS tra server se l'autorità di certificazione (CA) corrispondente non è considerata attendibile. Il connettore offre un'opzione " Disabilita verifica del certificato (non sicura)" , ma ONLYOFFICE la descrive esplicitamente come non sicura e raccomanda di sostituire il certificato con uno emesso da una CA attendibile. Soluzione: utilizzare l'opzione di bypass della verifica del certificato solo come breve passaggio diagnostico in un ambiente controllato; la soluzione definitiva consiste in una catena di certificati valida e considerata attendibile da entrambi i server.

Se un reverse proxy si trova davanti a ONLYOFFICE, verificare che mantenga lo schema, l'host e il comportamento di aggiornamento previsti. ONLYOFFICE pubblica linee guida specifiche per i reverse proxy, incluse le intestazioni inoltrate e le impostazioni relative ai WebSocket. Consultare la guida di ONLYOFFICE alla configurazione del reverse proxy per Nextcloud .

Dipendente dalla distribuzione: la configurazione esatta di Nginx, Apache, Traefik, HAProxy, ingress-controller o CDN non può essere dedotta solo dall'errore di salvataggio. Azione: confronta la configurazione del tuo proxy con l'esempio del fornitore per la tua topologia ed esamina lo stato HTTP registrato durante il callback prima di modificare timeout o intestazioni a caso.

6. Se la callback raggiunge Nextcloud, controlla gli errori di archiviazione e scrittura.

Una volta che i log confermano che la callback ha raggiunto Nextcloud con successo, si procede verso il basso nella gerarchia delle operazioni. Nextcloud deve essere in grado di recuperare il nuovo documento e sostituire la versione memorizzata. Permessi del filesystem locale, un mount di sola lettura, spazio su disco esaurito, restrizioni di quota, storage esterno non disponibile o un'eccezione dell'applicazione/storage possono impedire la scrittura finale.

Ciò che è noto: i valori di stato del callback di ONLYOFFICE distinguono un documento pronto per il salvataggio da un errore di salvataggio, e il callback contiene un URL al documento modificato che il servizio di archiviazione può recuperare. La documentazione ufficiale del gestore del callback definisce lo stato 2 come pronto per il salvataggio e lo stato 3 come errore di salvataggio.

Ciò che non si può dedurre dal solo messaggio del browser è se l'errore si sia verificato in ONLYOFFICE, sul percorso di rete, in Nextcloud o nello storage sottostante. Azione: non modificare ricorsivamente la proprietà dei file in una directory di dati di Nextcloud solo perché l'editor segnala un errore di salvataggio. Verificare prima la presenza di un errore lato storage nel log di Nextcloud.

7. Comprendere il funzionamento del pulsante Salva e del salvataggio forzato.

Un altro equivoco è che ogni volta che si preme Salva, il file venga immediatamente sovrascritto da Nextcloud. Il connettore può utilizzare un'opzione di salvataggio intermedio o di salvataggio forzato. La guida ufficiale all'integrazione afferma che quando l'opzione Mantieni versioni intermedie durante la modifica (salvataggio forzato) è abilitata, facendo clic su Salva le modifiche vengono inviate direttamente alla memoria di archiviazione; in caso contrario, le modifiche vengono mantenute nella cache dell'editor e il normale flusso di lavoro di salvataggio finale avviene in un secondo momento.

Questo è importante per la risoluzione dei problemi. Se solo il salvataggio forzato fallisce ma il salvataggio normale con chiusura ha successo, o viceversa, i timestamp e gli stati di callback diventano prove preziose. Azione: riprodurre l'errore in un flusso di lavoro chiaramente definito e acquisire i log da quel tentativo invece di combinare salvataggio manuale, chiusura del browser e più schede dell'editor simultanee.

Tabella di diagnosi rapida

SintomoControllo successivo più utileNon dare per scontato
L'editor non si aprirà affatto.URL del server di documenti, JWT, raggiungibilità del browser/serverSi tratta di un problema di sola memorizzazione
L'editor si apre, ma il salvataggio fallisce.Log di raggiungibilità delle callback e di DocServiceQuell'apertura di successo dimostra la via del ritorno
401/403 relativi al traffico di callback o di comandoSegreto JWT e intestazione di autorizzazioneChe un timeout del proxy è la causa
Errori di convalida TLS/certificatoCatena di certificati e negozi fiduciariDisabilitare la verifica è una soluzione permanente.
La chiamata raggiunge Nextcloud ma il file rimane invariatoLog di Nextcloud, montaggio dello storage, quota, errori di scritturaQuel ONLYOFFICE ha perso la modifica
Guasti solo dietro proxy/NATURL interni avanzati e instradamento inoltratoChe gli URL pubblici funzionino in modo identico all'interno dei container

Come verificare la correzione

Utilizza un piccolo file DOCX di prova in una cartella non critica. Aprilo in ONLYOFFICE, digita una riga univoca, ad esempio un timestamp, attendi che l'editor segnali il salvataggio della modifica, quindi chiudi l'editor normalmente. Riapri il file da Nextcloud e verifica che il testo sia presente. Successivamente, controlla la cronologia delle versioni, se la tua implementazione la utilizza, e verifica i log del server per lo stesso intervallo di tempo.

Quindi esegui nuovamente il controllo del connettore:

sudo -E -u www-data php occ onlyoffice:documentserver --check

Un buon risultato non si limita all'apertura dell'editor. Il test completo prevede che: Nextcloud riesca a raggiungere ONLYOFFICE, ONLYOFFICE riesca a raggiungere l'indirizzo di callback su Nextcloud, l'autenticazione abbia successo, Nextcloud riesca a recuperare il file aggiornato e il backend di archiviazione accetti la sostituzione.

Quando la causa non è ancora chiara

Se nessuno dei log mostra un errore evidente, aumenta temporaneamente il livello di registrazione ONLYOFFICE e Nextcloud durante una riproduzione controllata, quindi riporta il livello di registrazione al valore normale. Nextcloud avverte che la registrazione DEBUG è dettagliata e può influire sulle prestazioni, quindi dovrebbe essere una misura diagnostica piuttosto che un'impostazione permanente in produzione. Consulta la documentazione di Nextcloud sulla registrazione prima di modificare i livelli di registrazione.

A quel punto, conservate i timestamp esatti, i codici di stato HTTP, la versione del connettore, la versione di Nextcloud, la versione di ONLYOFFICE Docs, la topologia e le relative righe di log oscurate. Queste informazioni sono molto più utili del messaggio generico del browser "Impossibile salvare il documento".

Riferimenti ufficiali

Lascia un commento

Come eseguire LibreOffice in modalità headless all'interno di un container Docker

Come eseguire LibreOffice in modalità headless all'interno di un container Docker

Esegui LibreOffice in modalità headless in Docker per la conversione di file DOCX, XLSX, PPTX e PDF con un'immagine riproducibile, mount sicuri, font, profili e verifica.

Come risolvere il problema dell'avvio lento di LibreOffice su Windows 11 e Linux

Come risolvere il problema dell'avvio lento di LibreOffice su Windows 11 e Linux

Risolvi i problemi di avvio lento di LibreOffice su Windows 11 e Linux con la modalità di risoluzione dei problemi, i controlli delle estensioni, la riparazione del profilo e gli aggiornamenti specifici dell'installazione.

Come abilitare lo sviluppo di plugin negli editor desktop di ONLYOFFICE

Come abilitare lo sviluppo di plugin negli editor desktop di ONLYOFFICE

Configura lo sviluppo di plugin in ONLYOFFICE Desktop Editors: installa un archivio .plugin locale, collega la cartella sorgente, abilita gli strumenti per sviluppatori e testa le modifiche.

Come eseguire script Python nelle macro di LibreOffice Calc

Come eseguire script Python nelle macro di LibreOffice Calc

Scopri quando utilizzare le macro Python direttamente in Calc e come richiamare le funzioni Python da LibreOffice Basic con esempi pratici di UNO e ScriptForge.

Risolvere l'errore "Host WOPI non autorizzato" in Collabora Online CODE

Risolvere l'errore "Host WOPI non autorizzato" in Collabora Online CODE

Risolvi l'errore "Unauthorized WOPI Host" di Collabora Online CODE verificando la corrispondenza del nome host WOPI, configurando i gruppi di host Docker, controllando l'elenco IP consentito separato di Nextcloud e verificando la connettività.

Risolvi l'errore "Token non valido" nell'integrazione di ONLYOFFICE con Nextcloud.

Risolvi l'errore "Token non valido" nell'integrazione di ONLYOFFICE con Nextcloud.

Risolvi gli errori "Token non valido" di ONLYOFFICE in Nextcloud verificando il segreto JWT, l'intestazione di autorizzazione, le impostazioni Docker, il comportamento del proxy e lo stato del connettore.

Risolvere l'errore "Impossibile salvare il documento" di ONLYOFFICE in Nextcloud

Risolvere l'errore "Impossibile salvare il documento" di ONLYOFFICE in Nextcloud

Risolvi l'errore "Impossibile salvare il documento" di ONLYOFFICE in Nextcloud verificando callback, URL interni, JWT, TLS, routing proxy, log e spazio di archiviazione.

Risoluzione del problema "Connessione socket chiusa inaspettatamente" in Collabora Online: controlli WebSocket e proxy

Risoluzione del problema "Connessione socket chiusa inaspettatamente" in Collabora Online: controlli WebSocket e proxy

Risolvi gli errori di connessione socket di Collabora Online verificando la modifica WebSocket 26.04, le route proxy, le intestazioni di aggiornamento, i timeout, TLS e i log.

Come abilitare il controllo ortografico per più lingue in Collabora Online

Come abilitare il controllo ortografico per più lingue in Collabora Online

Abilita il controllo ortografico multilingue in Collabora Online aggiungendo dizionari server, consentendo i codici lingua, assegnando lingue al testo e testando documenti multilingue.

Come creare una stampa unione automatica con immagini in LibreOffice Writer

Come creare una stampa unione automatica con immagini in LibreOffice Writer

Crea una stampa unione affidabile con LibreOffice Writer, includendo immagini per ogni record, utilizzando i dati di Calc, un segnaposto per l'immagine con nome e una macro di base, con istruzioni per la risoluzione dei problemi e la verifica.