Início
» Como fazer
»
Execute o Collabora CODE Behind Nginx com terminação TLS.
Execute o Collabora CODE Behind Nginx com terminação TLS.
Os documentos podem ficar retidos após você colocar o Collabora CODE atrás de HTTPS porque o proxy e o CODE discordam sobre onde o TLS termina, ou o proxy descarta o tráfego WebSocket. Configure o Nginx para apresentar o certificado público, encaminhar para um listener CODE privado e passar as rotas WebSocket. As configurações do CODE são ssl.enable=falsee ssl.termination=true.
A terminação TLS significa que o Nginx lida com a conexão HTTPS e o certificado do navegador, enquanto o CODE usa HTTP na porta 9980 por trás dele. Mantenha esse listener privado: vincule-o ao loopback em um único host ou use uma rede Docker privada. Se o tráfego do proxy para o CODE atravessar uma rede não confiável, proteja essa conexão com TLS ou um túnel.
O navegador usa HTTPS para o Nginx; o HTTP fica restrito à conexão privada entre o proxy e o CODE.
Prepare o recipiente e o certificado.
Escolha o nome de host público. Crie um registro DNS que office.example.comaponte para o proxy Nginx. Obtenha um certificado para esse nome de host específico e instale sua cadeia de certificados e chave privada no proxy.
Mantenha a porta do CODE privada. Para o Nginx instalado diretamente no host Docker, publique a porta do contêiner apenas no loopback. No Compose, o mapeamento relevante é `//` 127.0.0.1:9980:9980. Não publique 9980:9980em todas as interfaces do host, a menos que um firewall e o projeto de rede restrinjam isso explicitamente.
Configure o modo TLS do CODE. No serviço Compose, adicione as duas opções à configuração do CODE. O exemplo abaixo usa uma variável de imagem para que você possa fixar a tag exata que revisou e testou.
A vinculação ao endereço 127.0.0.1 mantém o listener do CODE acessível apenas a partir do host Docker.Essas opções informam ao CODE que o TLS é gerenciado pelo proxy reverso.
Defina COLLABORA_CODE_IMAGEuma tag de imagem testada e fixada. Mantenha sua lista de permissões de host WOPI e configurações de autenticação; a terminação TLS não as substitui. Se o Nginx for outro serviço Docker, omita o mapeamento de porta do host e use o proxy http://collabora:9980na rede privada compartilhada.
Configure o Nginx para encerrar o tráfego TLS e encaminhar o tráfego CODE.
Adicione o host virtual HTTPS. Insira os seguintes locais dentro do bloco do servidor Nginx para o nome de host público do Collabora. Substitua o nome de host e os caminhos do certificado de exemplo. Esta configuração é para um URL do Collabora no nível raiz, não para um URL montado em um caminho como /office/.
O Nginx detém o certificado público e escuta em HTTPS para o nome de host da Collabora.
Encaminhe as rotas de recursos, descoberta e capacidades do editor. Os /cool/.../wslocais precisam dos cabeçalhos HTTP/1.1 e Upgrade para que o Nginx possa tunelar WebSockets; um tempo limite de leitura longo mantém as sessões de edição abertas. Consulte a documentação de proxy WebSocket/cool/adminws do Nginx .
Encaminhe os recursos do editor, a descoberta WOPI e os endpoints de capacidades para o mesmo listener CODE.A rota principal do WebSocket requer HTTP/1.1 e os cabeçalhos Upgrade, caso contrário o editor pode carregar, mas não se tornar utilizável.Encaminhe também o WebSocket administrativo e as demais rotas de transferência de documentos.
Aplique a alteração e verifique o comportamento sensível à versão.
Valide o Nginx antes de recarregá-lo. Execute o comando nginx -t. Continue somente se o Nginx informar que o teste de configuração foi bem-sucedido; em seguida, recarregue o Nginx com o comando de serviço padrão do seu sistema.
Recrie o contêiner CODE. Aplique a alteração do Compose com docker compose up -d collabora. Verifique os logs do contêiner em busca de erros de inicialização e confirme se a configuração ativa inclui ambas as opções SSL.
Execute o teste de sintaxe antes de recarregar a página para que um bloco de servidor malformado não interrompa outros sites.
Para contextualizar a versão, o repositório da Collabora registrou um relatório em 22 de julho de 2026 informando que a verificação de integridade integrada coolwsd --probeno CODE 26.04.2.2 e versões posteriores podia verificar o HTTPS na porta 9980 mesmo quando o TLS terminava no proxy. Isso pode marcar um contêiner como não íntegro, mesmo que o endpoint público responda. Consulte o registro do problema para a sua tag de imagem ; teste o endpoint público e uma sessão de edição antes de considerar o status de integridade como prova de uma falha de TLS. Mantenha as verificações de integridade, a menos que outro monitor as substitua.
Verifique a descoberta HTTPS e uma sessão de edição real.
Faça a solicitação https://office.example.com/hosting/discoveryem um navegador ou com o comando curl`.`. Ela deve retornar um XML de descoberta WOPI via HTTPS, com URLs usando o nome de host HTTPS público. Um aviso de certificado sugere um problema com o nome de host ou com o certificado; URLs HTTP sugerem uma incompatibilidade de modo TLS ou esquema de encaminhamento; um erro 502 sugere que o proxy não consegue alcançar o CODE.
Em seguida, abra um documento de teste do host WOPI conectado e confirme se a edição funciona. Nas ferramentas de desenvolvedor do navegador, a /cool/.../wssolicitação deve estabelecer uma conexão WebSocket. Se a descoberta funcionar, mas a edição travar, verifique os locais e cabeçalhos do WebSocket. Confirme se a integração permite o host WOPI e aponta para https://office.example.com.
Configuração bem-sucedida: o certificado é confiável, a descoberta usa HTTPS, a porta 9980 permanece privada e um documento de teste é aberto e editado através do WebSocket.