Certificado SSL#
O certificado é o que faz o https funcionar. No Doot ele não é só uma questão de cadeado no navegador: os canais só entregam mensagem em endereços com certificado válido e reconhecido.
Por que ele é obrigatório aqui#
A Meta, o Telegram e a Twilio entregam as mensagens dos clientes chamando o seu servidor. Todos exigem HTTPS com certificado emitido por uma autoridade reconhecida.
Certificado autoassinado é recusado — e a recusa costuma aparecer no painel do provedor como "não consegui validar o webhook", sem dizer que o problema é o certificado. Veja Webhooks.
Como obter#
O instalador oferece emitir o certificado na hora, com Let's Encrypt, reaproveitando o domínio e o e-mail que você já informou:
sudo bash instalar.sh --dominio doot.suaempresa.com.br \
--email-admin admin@suaempresa.com.br \
--certificado voce@suaempresa.com.br --nao-interativo
Para isso o domínio precisa apontar para o servidor antes — a validação do Let's Encrypt confere isso.
Renovação#
Certificados Let's Encrypt valem 90 dias e são renovados automaticamente quando o processo de renovação está no lugar.
Confira que a renovação automática está funcionando antes de precisar dela. Certificado vencido é uma das duas causas clássicas de "parou tudo sem ninguém ter mexido em nada" — a outra é disco cheio.
Cadeia incompleta: o erro que engana#
Este merece atenção porque o sintoma mente.
Um certificado instalado sem a cadeia intermediária completa é aceito pelo navegador — que costuma completar a cadeia sozinho — e recusado por servidores, que não completam.
O resultado é o pior dos dois mundos: você abre o painel e vê o cadeado verde, e ao mesmo tempo os webhooks param de ser entregues. Ninguém relaciona uma coisa com a outra.
Ao instalar certificado manualmente, use o arquivo com a cadeia completa, e confira com uma ferramenta externa de verificação de SSL — não pelo seu navegador.
Certificado manual#
É possível subir um certificado próprio, se você já tem um emitido por outra autoridade. Nesse caso a renovação é sua responsabilidade: anote a data de expiração em algum lugar que avise antes.
Se algo der errado#
O provedor não valida o webhook. Certificado autoassinado, vencido, ou cadeia incompleta. Confira nesta ordem.
O navegador mostra cadeado e os webhooks não funcionam. É cadeia incompleta. Veja acima.
A emissão pelo Let's Encrypt falha. O domínio precisa apontar para o servidor e a porta de validação precisa estar acessível.
O certificado venceu. A renovação automática não rodou. Renove manualmente e depois investigue por que ela parou.
Tudo parou de funcionar de madrugada, sem mudança nenhuma. Confira a data de expiração do certificado, e o espaço em disco.