Impeça que as sessões de edição de código terminem em 10 minutos.
Rastreie uma desconexão CODE de 10 minutos até seu proxy, balanceador de carga ou caminho WebSocket, corrija o tempo limite e verifique se a sessão permanece conectada.
Se um documento CODE desconectar de forma consistente após cerca de 10 minutos, inspecione primeiro o caminho do WebSocket através de cada proxy reverso ou balanceador de carga. Um tempo limite de inatividade de 600 segundos é um indício comum de configuração incorreta, mas o tempo por si só não comprova que o proxy seja o responsável; verifique qual componente fecha a conexão antes de alterar as configurações. Na maioria das implementações, a solução prática é manter a atualização do WebSocket do Collabora e definir os tempos limite de leitura e envio do proxy para valores maiores que a duração da sessão de edição mais longa esperada.
O Collabora Online utiliza uma conexão via navegador com o servidor CODE, enquanto a integração de documentos também depende da comunicação WOPI com o host, como o Nextcloud. As diretrizes de proxy reverso do Collabora e os exemplos atuais do Nextcloud Office documentam uma rota WebSocket separada para sessões de documentos. Se essa rota estiver ausente, enviada para o servidor upstream incorreto ou limitada por um tempo limite de inatividade, o editor pode perder a conexão ativa, embora a página em si permaneça acessível.
Esse é um requisito arquitetônico comprovado. Isso não significa que toda falha a cada dez minutos tenha a mesma causa: um balanceador de carga na nuvem, um controlador de entrada, um firewall, uma VPN ou outro proxy podem impor seus próprios limites. Considere o intervalo repetível como um indício e verifique os logs de acesso e de erro no momento da falha.
/ws. /cool/Observe o status e o código de fechamento, caso o navegador reporte algum.Se a conexão WebSocket for encerrada no mesmo limite configurado de 600 segundos, corrija o proxy ou intermediário responsável por esse limite. Se for encerrada em outro intervalo ou se os logs mostrarem um erro WOPI ou de servidor, siga essas evidências. A documentação de solução de problemas do Nextcloud recomenda especificamente verificar a conectividade em ambas as direções e revisar os logs do Nextcloud e do Collabora.
Antes de editar um arquivo proxy, identifique o host virtual ativo e o esquema e porta upstream reais para o CODE. Faça backup da configuração e valide a sintaxe antes de recarregar. O exemplo abaixo ilustra o comportamento WebSocket necessário para um proxy reverso NGINX; não se trata de um host virtual Collabora completo. Incorpore-o à configuração oficial da sua implantação, preservando os demais blocos de localização, configurações TLS, tratamento de URIs e regras de segurança.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
location ~ ^/cool/(.*)/ws$ {
proxy_pass https://127.0.0.1:9980/cool/$1/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
}
Os cabeçalhos Upgrade`http Connection-read` e `http-env` permitem que a requisição HTTP seja convertida para WebSocket. Os limites de leitura e envio mais longos impedem que este proxy feche uma conexão ociosa após um curto intervalo padrão; eles não são um comando para manter uma sessão aberta indefinidamente. Ajuste o endereço upstream e a verificação TLS para corresponder à sua instalação e não desative as verificações de certificado apenas para que o exemplo funcione.
Os exemplos oficiais de proxy da Collabora são a referência para a configuração completa de roteamento, adequada à versão. As orientações atuais incluem tempos limite longos para o proxy; o exemplo atual do Nextcloud para Docker também possui um /cool/(.*)/wsmapeamento dedicado para WebSocket. Utilize esses exemplos completos em vez de substituir todo o seu host virtual por este pequeno trecho:
Para o NGINX, execute nginx -te recarregue somente após o teste ser bem-sucedido. Para o Apache, use o teste de configuração dele antes de recarregar. Se o CODE estiver sendo executado atrás de um ingress do Kubernetes ou um balanceador de carga na nuvem, alterar o NGINX no host do CODE não corrigirá um tempo limite menor no ingress ou na borda do provedor; atualize o componente identificado pelos logs.
O tráfego WebSocket pode passar por mais de um intermediário: navegador, CDN ou firewall, balanceador de carga externo, entrada, proxy do host e, em seguida, o código. Um tempo limite longo em uma camada não pode substituir um tempo limite mais curto na camada seguinte. Compare o tempo limite de inatividade ou de conexão de cada camada e defina o limite da rota WebSocket para um valor maior do que o período de edição ocioso esperado, dentro dos limites e políticas da plataforma.
Não confunda a configuração de descarregamento ocioso de um documento com o tempo limite de rede do proxy. A primeira controla quando um processo de documento não utilizado pode ser descarregado; ela não corrige um WebSocket que um intermediário já fechou. Da mesma forma, definir um tempo limite muito longo não corrige uma rota de atualização incorreta, tráfego bloqueado, configuração HTTP/HTTPS incompatível ou falha de um processo CODE. Após cada alteração, confirme se o tempo de fechamento foi alterado ou se a causa registrada desapareceu; isso restringe a camada responsável sem introduzir alterações não relacionadas.
Verifique se tanto o navegador do usuário quanto o host WOPI conseguem acessar o serviço CODE via HTTPS e se o CODE consegue acessar o host WOPI. Para uma integração com o Nextcloud, o manual de solução de problemas recomenda verificar os endpoints públicos /hosting/capabilitiese /hosting/discoverylocais a partir de um navegador e com o comando `npm run dev` curl, e depois verificar o endpoint de status do Nextcloud no servidor CODE. Essas verificações confirmam a acessibilidade básica; elas não comprovam, por si só, que uma conexão WebSocket estabelecida permanece ativa por dez minutos.
/cool/.../wsconexão permanece aberta no painel de Rede do navegador e se o documento continua sendo salvo pelo host WOPI.Se a desconexão persistir, restaure o tempo de falha registrado e compare-o com os logs em cada salto. Um fechamento de 600 segundos no ponto de entrada indica a origem do problema; um tempo de fechamento diferente ou um erro no servidor aponta para outro ponto. A causa precisa não pode ser determinada apenas com base em "10 minutos", e os nomes e valores padrão dos tempos limite variam entre os produtos e versões de proxy. Mantenha a configuração funcional, com a versão do CODE e o produto de proxy documentados, para que futuras atualizações possam ser verificadas em relação aos exemplos oficiais atuais.
Rastreie uma desconexão CODE de 10 minutos até seu proxy, balanceador de carga ou caminho WebSocket, corrija o tempo limite e verifique se a sessão permanece conectada.
Instale o gráfico Helm oficial da Collabora, configure o acesso WOPI e a afinidade de entrada e verifique a implantação sem erros comuns de configuração.
Use solicitações do navegador, registros WOPI e verificações de proxy direcionadas para descobrir por que o Collabora abre um documento em branco e escolha uma solução que se adeque às evidências.
Configure os dicionários do CODE Docker e marque as passagens do documento corretamente para que o inglês, o francês e outros idiomas suportados recebam a verificação ortográfica adequada.
Ajuste o limite de inatividade por visualização no coolwsd e diferencie-o do escurecimento da aba em segundo plano, do descarregamento de documentos, do salvamento automático e da expiração de login.
Interrompa as verificações de atualização de código agendadas, revise os serviços remotos opcionais e use os controles de rede de saída sem interromper a edição de documentos.
Habilite a edição segura de documentos no Seafile configurando o URL de descoberta do Collabora, o HTTPS e o acesso WOPI para sua implementação.
Teste a área de transferência do sistema, ajuste as permissões do navegador e identifique quando uma integração incorporada do Collabora precisa de uma alteração na política de iframe.
Integre os arquivos de fonte ao Docker e ao systemplate do Collabora para que as fontes personalizadas apareçam no editor e sejam renderizadas corretamente nos documentos.
Faça backup do arquivo coolwsd.xml e de suas fontes de implantação, restaure-os com segurança e verifique o código antes que os usuários voltem a editá-lo.