Impeça que as sessões de edição de código terminem em 10 minutos.

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.

Primeiro, confirme onde ocorre a desconexão.

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.

  1. Registre o horário exato em que uma sessão é interrompida e se isso ocorre durante a digitação ativa ou apenas quando o documento está ocioso.
  2. Nas ferramentas de desenvolvedor do navegador, abra o painel Rede, filtre por “WS” e inspecione a conexão cujo caminho termina em /ws. /cool/Observe o status e o código de fechamento, caso o navegador reporte algum.
  3. No mesmo horário, verifique os logs do proxy reverso ou do servidor de entrada, os logs do servidor CODE e os logs do host WOPI. Procure por um tempo limite de proxy, reinicialização do servidor upstream, fechamento anormal de WebSocket ou erro WOPI. A redação dos logs varia de acordo com o produto e a versão, portanto, não assuma que uma mensagem seja universal.

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.

Mantenha o WebSocket aberto através do proxy.

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.

Verifique cada salto de rede, não apenas o código.

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.

Verifique o reparo com uma sessão cronometrada.

  1. Recarregue a configuração do proxy ou do ingress usando a etapa de validação compatível e, em seguida, abra uma nova sessão de documentos.
  2. Mantenha o documento aberto por mais tempo do que o período em que a falha ocorreu anteriormente. Teste uma vez durante a edição e, se o problema relatado ocorrer durante a inatividade, teste novamente com o documento ocioso.
  3. Confirme se a /cool/.../wsconexão permanece aberta no painel de Rede do navegador e se o documento continua sendo salvo pelo host WOPI.
  4. Analise os registros para o mesmo período. Um teste bem-sucedido significa que não ocorre nenhum timeout de proxy correspondente ou fechamento inesperado do WebSocket, e as edições permanecem após a reabertura do documento.

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.

Deixar um comentário

Impeça que as sessões de edição de código terminem em 10 minutos.

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.

Implante o Collabora CODE no Kubernetes com o Helm.

Implante o Collabora CODE no Kubernetes com o Helm.

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.

Rastrear um documento em branco do Collabora até a camada com falha

Rastrear um documento em branco do Collabora até a camada com falha

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.

Ativar verificação ortográfica multilíngue no Collabora Online CODE

Ativar verificação ortográfica multilíngue no Collabora Online CODE

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.

Defina o temporizador de inatividade do Collabora para visualizações de documentos ativos.

Defina o temporizador de inatividade do Collabora para visualizações de documentos ativos.

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.

Desative as verificações de atualização do Collabora CODE e as conexões indesejadas.

Desative as verificações de atualização do Collabora CODE e as conexões indesejadas.

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.

Conecte o Seafile e colabore com o URL WOPI correto.

Conecte o Seafile e colabore com o URL WOPI correto.

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.

Restaurar a função copiar e colar entre os aplicativos Collabora e Desktop.

Restaurar a função copiar e colar entre os aplicativos Collabora e Desktop.

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.

Disponibilize fontes personalizadas no Collabora CODE Docker.

Disponibilize fontes personalizadas no Collabora CODE Docker.

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.

Restaurar configurações do Collabora CODE sem perder as alterações de implantação

Restaurar configurações do Collabora CODE sem perder as alterações de implantação

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.