Configuração do Discourse na AWS EC2 não funciona com DNS IPv4 padrão

Olá, comunidade Discourse,

Sou novo no Discourse e estou apenas testando a configuração do Discourse em uma instância AWS EC2 seguindo discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub. No entanto, não consegui iniciá-lo. Aqui está o problema que estou enfrentando:

Antes de adquirir todos os recursos, queria testar o site sem um nome de domínio, então usei o DNS IPv4 público da instância como nome de host do Discourse e para acessar o site, por exemplo, https://ec2_ip_address.us-west-1.compute.amazonaws.com/.
Abri as portas 80 e 443 na instância por meio do grupo de segurança e verifiquei se essas portas são acessíveis a partir da rede pública (testado com um servidor simples em Python).
Mas recebo a mensagem “Este site não pode ser alcançado” no navegador após iniciar o servidor do Discourse com ./discourse-setup ou ./launcher rebuild app.

Tentei o comando discourse doctor, e ele retorna:

Versão do Discourse em ec2-ip_address.us-west-1.compute.amazonaws.com: NÃO ENCONTRADA
Versão do Discourse em localhost: NÃO ENCONTRADA

Não tenho 100% de certeza se a configuração de e-mail está funcionando, mas assumo que a acessibilidade do site seja um problema separado do e-mail.

Alguém pode me indicar o que está faltando ou como posso depurar esse problema?

Muito obrigado!

3 curtidas

Bem-vindo à Comunidade Meta Discourse :slightly_smiling_face:

Pode não ter relação, mas estou notando uma inconsistência aqui:

2 curtidas

Oi, Jonathan,

Obrigado por verificar. Omiti o endereço de IP aqui; a URL deve estar correta.

3 curtidas

O status Not found no seu hostname provavelmente ocorre porque o site ainda não está ao vivo. Você precisará compartilhar mais informações do seu log do discourse-doctor.

A reconstrução/inicialização (rebuild/bootstrap) foi concluída com sucesso?

Se a instância EC2 tiver recursos insuficientes, há uma chance de o Discourse levar algum tempo para iniciar (cerca de 3 a 5 minutos em alguns casos).

O que você deve verificar é: se a compilação foi concluída com sucesso, use docker ps para confirmar se o contêiner está em execução e escutando nas portas 80 e 443. Uma vez confirmado isso, o problema está no grupo de segurança da AWS e não na instalação em si.

3 curtidas

Você pode verificar se consegue acessar o servidor por meio do nome de host?

2 curtidas

O status Not found no seu hostname provavelmente ocorre porque o site ainda não está ao ar. Você precisará compartilhar mais informações do log do discourse-doctor.

Concordo. Vou prestar atenção ao log de build e ver se há algo errado. Como posso depurar se houver um erro no log?

Você pode verificar se consegue acessar o servidor via hostname?

Sim, verifiquei o hostname e as portas estão acessíveis no navegador, tanto a 80 quanto a 443. Criei um servidor HTTP em Python servindo apenas alguns arquivos e consigo ver a resposta no navegador.

2 curtidas

Você vê algo nos logs? Algo como

/var/discourse/shared/standalone/logs/var-log/nginx/error.log

Deve haver um problema com o Let’s Encrypt e a AWS. Mesmo que fosse seu próprio domínio, se você reconstruiu várias vezes, pode ter excedido sua cota.

2 curtidas

Engraçado você mencionar isso. :slightly_smiling_face: Foi isso que inicialmente me atraiu para este tópico. Ajudo muitas pessoas por lá em https://community.letsencrypt.org e pensei que este tópico estivesse dentro da minha área de atuação para ajudar. Para aplicar alguma das minhas ferramentas, eu precisaria saber os nomes de domínio reais.

2 curtidas

@ys2843

  • Você pode atualizar o que aconteceu depois? Estou travado com exatamente o mesmo problema.
1 curtida

Você está tentando usar um nome de domínio da AWS? Não use. Use o seu próprio.

Você olhou os logs?

Se você fez várias reconstruções, também atingirá os limites de taxa do Let’s Encrypt.

1 curtida

@pfaffman

Contexto: Configurando um fórum Discourse mínimo como prova de conceito na AWS, tentando minimizar os custos

Você pode registrar um nome de domínio por US$ 3 na GoDaddy. Se o seu tempo vale mais do que US$ 3/hora, você deve registrar um domínio. E se você não tem US$ 3 para registrar um domínio, também não pode arcar com uma instância EC2.

2 curtidas

@pfaffman

  • Concordo com você quanto à perspectiva do problema de preço.
  • Do ponto de vista técnico, existe alguma solução alternativa???

Claro! Veja se alguém mais que usa um nome de domínio .amazonaws.com utiliza o Let’s Encrypt e depois aguarde uma semana. Se você não quiser registrar um domínio, essa seria a próxima coisa que eu tentaria.