Início
» ESCRITÓRIO MS
»
Fix ONLYOFFICE “Document Could Not Be Saved” Error in Nextcloud
Fix ONLYOFFICE “Document Could Not Be Saved” Error in Nextcloud
You open a DOCX in Nextcloud, ONLYOFFICE loads normally, you make a change, and then the editor reports “Document could not be saved.” The tempting conclusion is that the browser lost the file or that ONLYOFFICE itself cannot write to disk. In a Nextcloud integration, that is often the wrong place to start.
The important detail is how saving works. Nextcloud gives ONLYOFFICE Docs a document URL and a callbackUrl. ONLYOFFICE downloads the file, hosts the editing session, and later calls Nextcloud back so Nextcloud can fetch the updated file and replace the stored version. The official ONLYOFFICE integration documentation describes this callback exchange explicitly. That means the editor can open successfully while the return path used for saving is broken. Action: treat opening and saving as two separate network tests.
An editing session can load successfully yet still fail when the updated document must travel back to Nextcloud.
Start with the verified behavior, not the error text
As of the current official integration documentation, ONLYOFFICE’s Nextcloud connector uses a server-to-server workflow: the Document Server must be reachable from Nextcloud, and Nextcloud must also be reachable from the Document Server. When editing ends, ONLYOFFICE sends a POST request to the callback URL; Nextcloud then downloads the edited document and replaces the previous version. See the official ONLYOFFICE Nextcloud integration guide and the ONLYOFFICE API description of the Nextcloud integration.
Verified: a bad or unreachable callback path can produce a save failure even when the editor opened. ONLYOFFICE’s troubleshooting documentation specifically tells administrators to check the DocService logs and verify that the callback URL is reachable when a save error occurs. Action: do not begin by reinstalling the editor or clearing browser cache; first test the server-to-server path.
1. Run the connector’s built-in connection check
On the Nextcloud host, run the ONLYOFFICE connector check as the web-server user. On a typical Debian or Ubuntu installation:
cd /var/www/nextcloud
sudo -E -u www-data php occ onlyoffice:documentserver --check
The exact Nextcloud path and HTTP user can differ by distribution or container layout. Nextcloud’s own administration manual recommends running occ as the HTTP user so file ownership remains consistent. ONLYOFFICE documents occ onlyoffice:documentserver --check as the connector connection test.
What this proves: it can reveal an obvious Document Server configuration or connectivity error. What it does not prove: every callback generated during a real editing session will succeed through every proxy, DNS route, and authentication layer. Action: if the check passes but saving still fails, continue to the callback and logs instead of declaring the integration healthy.
A connection check is a useful first gate, but a failed return path from ONLYOFFICE to Nextcloud is the more important clue when editing works but saving does not.
2. Verify both public and internal server addresses
In Nextcloud, open Settings → Administration → ONLYOFFICE. The main ONLYOFFICE Docs address must be usable by the relevant clients and services. If the public URLs are not routable internally because of Docker networking, NAT, split-horizon DNS, or firewall policy, expand the advanced server settings.
The official connector exposes separate internal addresses for exactly this situation:
ONLYOFFICE Docs address for internal requests from the server: the address Nextcloud uses to reach ONLYOFFICE.
Server address for internal requests from ONLYOFFICE Docs: the address ONLYOFFICE uses to reach Nextcloud for callbacks and related server-to-server traffic.
For example, two containers on the same Compose network may be able to use service names internally while browsers still use public HTTPS hostnames. Do not blindly copy that pattern: the names must actually resolve in your network. Action: test each direction from the machine or container that originates the request.
The advanced server addresses are designed for deployments where the public hostname is not the correct route for server-to-server traffic.
A common misunderstanding: “The editor opens, so DNS and routing are fine”
That conclusion is not reliable. The browser, Nextcloud, and ONLYOFFICE Docs are three different network participants. The browser may reach office.example.com while the Document Server container cannot resolve or connect to cloud.example.com. Likewise, Nextcloud may reach ONLYOFFICE through an internal hostname while the callback points to an unreachable public address.
Action: enter the ONLYOFFICE container or host and test the Nextcloud address it is expected to use. A basic HTTPS request to the Nextcloud host can confirm DNS/TCP/TLS reachability, but remember that a successful status.php request does not validate the real callback authorization or POST handling.
3. Check JWT before changing proxy rules
O JWT é outra fonte frequente de confusão. A partir do ONLYOFFICE Docs 7.2, o JWT está habilitado por padrão e uma chave secreta é gerada automaticamente. As instruções oficiais exigem a mesma chave secreta no servidor de documentos e no conector ONLYOFFICE para Nextcloud. A documentação atual do conector também expõe a configuração do cabeçalho de autorização para instalações que não utilizam o cabeçalho padrão.
Verificado: o segredo compartilhado deve corresponder. Dependente da implantação: o local exato onde você o gerencia depende se o ONLYOFFICE foi instalado a partir de pacotes, no Windows ou no Docker. Em implantações do Docker, uma JWT_SECRETvariável de ambiente é comumente usada; a configuração efetiva do servidor também pode ser inspecionada em /etc/onlyoffice/documentserver/local.json.
Ação: compare as configurações efetivas de segredo e cabeçalho em ambos os lados e, em seguida, reinicie os serviços do ONLYOFFICE ou o contêiner após as alterações no servidor. Não "corrija" o problema desativando permanentemente o JWT; isso remove um controle de segurança em vez de corrigir a configuração. Os detalhes estão no guia de configuração de JWT do ONLYOFFICE .
A configuração do JWT e as falhas na rede de retorno de chamada são camadas separadas; os registros ajudam a determinar se a solicitação foi rejeitada para autenticação ou se nunca chegou ao Nextcloud.
4. Inspecione os registros do ONLYOFFICE e do Nextcloud no momento da falha ao salvar.
A ONLYOFFICE recomenda verificar os logs do DocService em busca de erros de salvamento. Para instalações Linux e Docker, os logs do Document Server estão localizados em /var/log/onlyoffice/documentserver; usuários do Docker também podem acompanhar a saída do contêiner com docker logs -f <container>. Se forem necessários mais detalhes, a ONLYOFFICE documenta um modo de depuração temporário através de DS_LOG_LEVEL=DEBUGou da configuração do log4js. Consulte o guia oficial de registro de depuração .
No Nextcloud, o log padrão baseado em arquivo normalmente fica nextcloud.logno diretório de dados configurado. Você pode descobrir o caminho ativo com:
sudo -E -u www-data php occ log:file
O Nextcloud também documenta log:taile informa log:watchquando o aplicativo Leitor de Logs está disponível. Ação: reproduza uma falha de salvamento, anote o registro de data e hora e, em seguida, correlacione os dois lados. Uma recusa de rede, erro TLS, resposta 401/403, resposta 5xx ou exceção de armazenamento apontam para soluções muito diferentes.
5. Corrija problemas de TLS e proxy reverso sem comprometer a segurança da produção.
Um certificado autoassinado ou emitido de forma privada pode interromper a comunicação HTTPS entre servidores quando a Autoridade Certificadora (CA) correspondente não for confiável. O conector possui uma opção "Desativar verificação de certificado (insegura)" , mas a ONLYOFFICE a descreve explicitamente como insegura e recomenda a substituição do certificado por um emitido por uma CA confiável. Ação: utilize a opção de ignorar a verificação de certificado apenas como uma etapa de diagnóstico rápida em um ambiente controlado; a solução definitiva é uma cadeia de certificados válida e confiável por ambos os servidores.
Se um proxy reverso estiver na frente do ONLYOFFICE, confirme se ele preserva o esquema, o host e o comportamento de atualização esperados. O ONLYOFFICE publica orientações específicas para proxy reverso, incluindo cabeçalhos encaminhados e configurações relacionadas ao WebSocket. Consulte o guia de configuração de proxy reverso do ONLYOFFICE para Nextcloud .
Dependente da implantação: a configuração exata do Nginx, Apache, Traefik, HAProxy, controlador de entrada ou CDN não pode ser inferida apenas pelo erro de salvamento. Ação: compare sua configuração de proxy com o exemplo do fornecedor para sua topologia e examine o status HTTP registrado durante o retorno de chamada antes de alterar tempos limite ou cabeçalhos aleatoriamente.
6. Se o retorno de chamada chegar ao Nextcloud, verifique o armazenamento e possíveis falhas de gravação.
Assim que os registros comprovarem que o retorno de chamada alcançou o Nextcloud com sucesso, prossiga na pilha de processos. O Nextcloud precisa conseguir recuperar o novo documento e substituir a versão armazenada. Permissões do sistema de arquivos local, uma montagem somente leitura, espaço em disco esgotado, restrições de cota, armazenamento externo indisponível ou uma exceção de aplicativo/armazenamento podem impedir essa gravação final.
O que se sabe: os valores de status de retorno de chamada do ONLYOFFICE distinguem um documento pronto para ser salvo de um documento com erro ao salvar, e o retorno de chamada contém um URL para o documento editado para que o serviço de armazenamento o recupere. A documentação oficial do manipulador de retorno de chamada define o status 2 como pronto para salvar e o status 3 como um erro ao salvar.
O que não é possível saber apenas pela mensagem do navegador: se a falha ocorreu no ONLYOFFICE, no caminho de rede, no Nextcloud ou no armazenamento subjacente. Ação: não altere recursivamente a propriedade de arquivos em um diretório de dados do Nextcloud apenas porque o editor diz que não consegue salvar. Confirme primeiro se há um erro no armazenamento consultando o log do Nextcloud.
7. Compreenda o botão Salvar e o comportamento de salvamento forçado.
Outra ideia errada é que cada clique em Salvar substitui imediatamente o arquivo armazenado pelo Nextcloud. O conector pode usar uma opção de salvamento intermediário ou de salvamento forçado. O guia de integração oficial explica que, quando a opção Manter versões intermediárias durante a edição (salvamento forçado) está ativada, clicar em Salvar envia as alterações diretamente para o armazenamento; caso contrário, as alterações são mantidas no cache do editor e o fluxo de trabalho normal de salvamento final ocorre posteriormente.
Isso é importante para a resolução de problemas. Se apenas o salvamento forçado falhar, mas o fechamento e salvamento normais forem bem-sucedidos, ou vice-versa, os registros de data e hora e os status de retorno de chamada se tornam evidências valiosas. Ação: reproduza a falha em um fluxo de trabalho claramente definido e capture os registros dessa tentativa, em vez de misturar salvamento manual, fechamento do navegador e várias guias do editor abertas simultaneamente.
Tabela de diagnóstico rápido
Sintoma
A próxima verificação mais útil
Não presuma
O editor não abre de jeito nenhum.
URL do servidor de documentos, JWT, acessibilidade do navegador/servidor
Que é um problema que só pode ser resolvido salvando o jogo.
O editor abre, mas a função de salvar falha.
Acessibilidade de retorno de chamada e registros do DocService
Essa abertura bem-sucedida comprova o caminho de retorno.
401/403 em torno do tráfego de retorno de chamada ou comando
Segredo JWT e cabeçalho de autorização
Que um tempo limite de proxy seja a causa
Erros de validação de TLS/certificado
Cadeia de certificados e lojas de confiança
Desativar a verificação é uma solução permanente.
A chamada de retorno chega ao Nextcloud, mas o arquivo permanece inalterado.
Logs do Nextcloud, montagem de armazenamento, cota, erros de gravação
Aquele ONLYOFFICE perdeu a edição
Falhas apenas atrás de proxy/NAT
URLs internas avançadas e roteamento encaminhado
URLs públicas funcionam de forma idêntica dentro de contêineres.
Como verificar a correção
Utilize um pequeno arquivo DOCX de teste em uma pasta não crítica. Abra-o no ONLYOFFICE, digite uma linha exclusiva, como um carimbo de data/hora, aguarde o editor informar que a alteração foi salva e, em seguida, feche o editor normalmente. Reabra o arquivo no Nextcloud e confirme se o texto está presente. Em seguida, verifique o histórico de versões, caso sua implementação o utilize, e consulte os logs do servidor para o mesmo período.
Em seguida, execute a verificação do conector novamente:
Um bom resultado não é simplesmente "o editor abrir". O teste completo consiste em: o Nextcloud conseguir se conectar ao ONLYOFFICE, o ONLYOFFICE conseguir se conectar ao endereço de retorno de chamada no Nextcloud, a autenticação ser bem-sucedida, o Nextcloud conseguir buscar o arquivo atualizado e o backend de armazenamento aceitar a substituição.
Quando a causa ainda não está clara.
Se nenhum dos registros mostrar uma falha óbvia, aumente temporariamente o nível de registro do ONLYOFFICE e do Nextcloud durante uma reprodução controlada e, em seguida, retorne o nível de registro ao normal. O Nextcloud alerta que o registro DEBUG é detalhado e pode afetar o desempenho, portanto, deve ser usado como medida de diagnóstico e não como uma configuração permanente em produção. Consulte a documentação de registro do Nextcloud antes de alterar os níveis de registro.
Nesse ponto, preserve os registros de data e hora exatos, os códigos de status HTTP, a versão do conector, a versão do Nextcloud, a versão do ONLYOFFICE Docs, a topologia e as linhas de log relevantes (com as informações ocultadas). Esses dados são muito mais úteis do que a mensagem genérica do navegador "Não foi possível salvar o documento".