Estou tentando instalar o Discourse a partir da página oficial do GitHub, no Ubuntu 22.04 Server LTS - a partir da última AMI da AWS. A rede está configurada, com FQDNs anexados ao host e IP elástico.
Tudo é implantado corretamente, e consigo me conectar à instância Nginx na porta 80. Mas, não consigo me conectar pela porta 443, e o erro repetido no error.log do Nginx é o seguinte:
Você executou o discourse-setup? Ele tenta se conectar a si mesmo para verificar se o DNS aponta para o servidor e se as portas estão abertas, mas é um teste rudimentar.
Se você executar uma reconstrução mais de algumas vezes sem DNS e portas configurados corretamente, atingirá os limites de taxa do Let’s Encrypt. Se for esse o caso, e eu suspeito que seja, você precisará esperar uma semana ou usar um subdomínio diferente (ou seguir algumas instruções complicadas para solicitar um certificado para o subdomínio desejado e outro).
Acho que se você executar docker logs app, poderá ver onde o acme está falhando ao obter um certificado.
Olá Jason,
Encontrei o mesmo problema e levei dias e muitas horas para descobrir o que estava quebrado e como consertar. Portanto, espero que esta informação ajude você e outros que encontram o mesmo problema.
Estava recebendo este erro durante a execução de ./discourse-setup: ** FALHA AO INICIALIZAR ** por favor, role para cima e procure por erros anteriores
Em muitas tentativas de corrigir este erro, tentei o seguinte:
Executei ./discourse-doctor sem sucesso.
Executei ./launcher rebuild app sem sucesso.
Tentei solucionar problemas dentro do contêiner usando: docker exec -it app /bin/bash
A imagem do contêiner tem ferramentas limitadas para solucionar problemas, então apenas li os logs usando este comando: less /var/log/nginx/error.log
Foi aqui que vi muitas mensagens contendo: [emerg] 2832#2832: não é possível carregar certificado
Por algum motivo, não consegui encontrar a causa raiz, mas quando saí do contêiner e digitei: ./launcher logs app do host -
Consegui ver mais dados e de repente encontrei este erro: “Erro ao criar nova ordem :: muitos certificados (5) já emitidos para este conjunto exato de domínios nas últimas 168 horas, tente novamente após 2024-08-10T12:58:12Z:”
Pesquisei soluções alternativas para este problema, mas decidi apenas esperar pelo tempo especificado.
Após o tempo de espera ter decorrido, tentei novamente: ./launcher rebuild app
Desta vez funcionou e os certificados SSL ( *.cer ) foram criados com sucesso e meu site estava no ar.
A moral da história aqui é que se você obtiver um certificado *.cer vazio, você precisa verificar os logs do contêiner usando este comando do host: root@host:/var/discourse# ./launcher logs app
Role pelos logs e procure por “muitos certificados”
Se eu soubesse disso, poderia ter economizado dias de pesquisa
Suposições feitas na minha resposta:
Você confirmou que seu host está configurado corretamente com seu provedor de DNS.
Você confirmou seu e-mail de registro e configurações de SMTP.
Você confirmou que /var/discourse/containers/app.yml foi preenchido corretamente.