Início
» Como fazer
»
Corrija erros de comprovação WOPI verificando chaves, descoberta e URLs.
Corrija erros de comprovação WOPI verificando chaves, descoberta e URLs.
Quando um host WOPI reporta “falha na validação da prova” ou “Prova WOPI inválida”, primeiro confirme qual sistema registrou a rejeição. Se o host de armazenamento estiver rejeitando a solicitação assinada do Collabora, verifique o par de chaves de prova e a resposta de descoberta antes de alterar as listas de permissões do host WOPI ou desativar as verificações de prova. Para instalações de pacotes, o Collabora normalmente gera o par de chaves; para implantações em Docker, Kubernetes e com múltiplas réplicas, o par deve ser fornecido e persistido de forma consistente.
Identifique a verificação com falha antes de alterar as chaves.
A validação de prova WOPI utiliza uma solicitação assinada e a chave pública anunciada pelo cliente WOPI em seus metadados de descoberta. Ela é independente da lista de hosts WOPI confiáveis da Collabora, da validação de certificado TLS e da verificação do token de acesso do host de armazenamento. A regeneração da chave pode ajudar quando a chave privada está ausente ou não corresponde à chave pública anunciada, mas pode criar uma nova incompatibilidade se apenas uma réplica for alterada ou se um host ainda tiver dados de descoberta em cache.
Uma mensagem à prova de invalidez do lado do host aponta primeiro para a descoberta da chave, a construção da assinatura ou o momento da solicitação.
Evidências no registro
Área provável para verificar
O host de armazenamento exibe a mensagem “Comprovante WOPI inválido” ao receber uma solicitação CheckFileInfo ou outra solicitação WOPI.
Chave de prova da Collabora, dados de descoberta do host, reconstrução de URL ou carimbo de data/hora.
O Collabora exibe a mensagem “Host WOPI não autorizado” ou “Nenhum host WOPI aceitável”.
A lista de permissões de host/configuração de domínio do WOPI, não a chave de prova.
Token inválido, expirado ou acesso negado sem comprovação de erro.
Token de acesso emitido pelo host, permissões ou expiração do token
Verifique uma solicitação com falha nos logs do Collabora e do host de armazenamento; apenas o indicador de carregamento do navegador não identifica uma falha na chave de prova.
Escolha o reparo mais adequado à implantação.
Comece com a opção menos disruptiva. Em uma instalação baseada em pacotes, verifique primeiro os arquivos de chave e os registros de serviço existentes; a documentação atual do Collabora afirma que as instalações de pacotes RPM e Debian geram automaticamente um par de chaves à prova de WOPI. Se esses arquivos estiverem presentes e estáveis, geralmente não é necessário rotacioná-los.
A Collabora utiliza uma chave de prova privada e publica a chave pública correspondente através da descoberta WOPI.
Implantação
Ação recomendada
Troca
Servidor gerenciado por pacote único
Guarde o par de chaves gerado; repare as permissões ou regenere-as somente se estiverem faltando ou forem incompatíveis.
Alteração mínima, mas verifique a versão do seu pacote e os caminhos configurados.
Contêiner Docker único
Gere um par uma única vez e monte-o permanentemente no contêiner.
Requer um volume persistente e permissão de leitura correta para o coolwsd.
Kubernetes ou múltiplas réplicas
Monte um par de chave/segredo compartilhado em cada instância do Collabora.
Assinaturas consistentes entre as réplicas; a rotação também deve atualizar a visão de descoberta do host.
O URL do host foi alterado por trás de um proxy.
Verifique o esquema público, o host, o caminho e a string de consulta usados para a validação da assinatura.
Mais complexo do que a rotação de chaves, mas evita alterações desnecessárias de credenciais.
O manual da Collabora versão 24.04 afirma que a imagem Docker pública não inclui um par de chaves de prova; gere um e monte-o de forma persistente. O gráfico Helm oficial suporta segredos com chaves de prova. Nunca gere um par separado para cada réplica, pois o balanceamento de carga pode tornar as falhas intermitentes.
Verifique e repare o par de chaves com segurança.
Localize os caminhos de chave configurados. No host do Collabora ou dentro do contêiner, inspecione as coolwsd.xmlconfigurações do caminho da chave de prova e verifique se as chaves privada e pública estão disponíveis. Os locais comuns são em /etc/coolwsd/, mas os layouts de pacotes e contêineres podem variar. Nunca cole a chave privada em logs, tickets ou chats.
Verifique se as chaves correspondem. Para os caminhos padrão comuns, compare as impressões digitais sem exibir a chave privada: sudo openssl pkey -in /etc/coolwsd/proof_key -pubout -outform DER | sha256sume openssl pkey -pubin -in /etc/coolwsd/proof_key.pub -outform DER | sha256sum. Os hashes resultantes devem corresponder. Se os seus caminhos forem diferentes, substitua-os pelos caminhos configurados reais. Se a chave privada não puder ser lida, corrija a propriedade e as permissões de acordo com o modelo de segurança do serviço; não a torne legível para todos.
Regenere apenas quando necessário. Se a chave privada estiver ausente ou o par não corresponder, use sudo coolconfig generate-proof-keyo utilitário instalado no diretório correspondente. Para Docker, gere o par em um local persistente apropriado, monte ambos os arquivos onde o Collabora os espera e certifique-se de que o processo coolwsd possa ler a chave privada. Em uma plataforma gerenciada, use o mecanismo Secret compatível em vez de editar manualmente um pod em execução.
Garanta a consistência em todas as instâncias. Para réplicas, implemente o mesmo par de chaves em cada instância e reinicie ou implemente o Collabora para que ele leia os arquivos. Em seguida, atualize ou busque novamente a descoberta WOPI no host de armazenamento usando o mecanismo compatível com esse host. Uma rotação de chaves altera a chave pública; caches ou outra réplica que ainda esteja servindo a chave anterior podem manter o serviço ativo em caso de falhas.
As réplicas devem compartilhar um par de chaves de prova persistente para que cada instância assine as solicitações de forma consistente.
Quando a chave corresponde, mas a validação da prova ainda falha.
Verifique a sincronização de tempo em ambos os sistemas. As solicitações de prova WOPI incluem um carimbo de data/hora; um host pode rejeitar um carimbo de data/hora antigo ou fora da janela de tempo. Confirme se o NTP ou o serviço de tempo da plataforma está funcionando corretamente e se os servidores reportam horários UTC válidos. Não flexibilize as verificações de carimbo de data/hora para contornar um problema de relógio.
Em seguida, inspecione o URL público que o host usa para reconstruir a solicitação assinada. A prova está vinculada ao URL da solicitação, incluindo os parâmetros de consulta relevantes, e a especificação WOPI exige que a representação do URL usada para validação corresponda ao formulário assinado. Um proxy reverso que encerra o HTTPS pode fazer com que o aplicativo veja um URL HTTP interno, mesmo que a Collabora tenha assinado o URL HTTPS público. Configure os cabeçalhos de proxy confiáveis e as configurações de URL externo do aplicativo de acordo com as orientações oficiais do host WOPI; não reescreva a lógica de prova nem remova os parâmetros de consulta.
Se a validação falhar somente após uma rotação de chave, atualize a descoberta e verifique se todas as réplicas do Collabora expõem a mesma chave pública. Se apenas as solicitações roteadas por meio de um proxy ou uma réplica falharem, compare os logs e a configuração desse caminho em vez de rotacionar a chave novamente. Desativar a validação de provas pode enfraquecer uma verificação de segurança e não deve ser usado como uma solução em produção.
Verifique o reparo
Obtenha o endpoint de descoberta do Collabora na rede do host de armazenamento e confirme se ele retorna os metadados atuais da chave de prova.
Abra um documento de teste e confirme se o host de armazenamento aceita a solicitação CheckFileInfo e as solicitações de documentos subsequentes sem um erro de prova de invalidez.
Repita o processo para cada rota proxy ou réplica e, em seguida, confirme se o par de chaves permanece montado após a reinicialização do contêiner ou a substituição do pod.
Confirme o reparo abrindo o documento e verificando se o host aceita suas solicitações WOPI.
A abertura bem-sucedida de um documento verifica apenas esse caminho; repita a verificação para cada host WOPI e rota de proxy que você opera.