Instalação do Docker não funciona com proxy Cloudflare

Configurei uma instância do Amazon EC2 para hospedar o Discourse e tudo parecia estar indo bem — até que inseri todas as minhas informações no script de instalação e o executei, após o que a imagem do Docker do Discourse deveria estar funcionando na porta 80.

Isso não aconteceu.

Não faço ideia do motivo. Uma coisa que consegui diagnosticar é que, se eu parar o contêiner do Docker e depois reiniciá-lo, ao acessar o endereço IP da minha instância EC2, aparece a tela padrão do servidor nginx. Mas, depois de alguns segundos, isso também deixa de acontecer.

Utilizei a instalação via Docker conforme recomendado.

Ao acessar o nome de domínio, nada acontece. Ao acessar o endereço IP, também nada acontece.

Está rodando na porta 80.

Quando paro o contêiner Docker e o reinicio, como mencionado acima, consigo acessar a página padrão do nginx “está funcionando”. Depois, volta a não funcionar após alguns segundos.

O que está acontecendo aqui? Isso é extremamente frustrante.

Como posso visualizar os registros de erro disso?

Qual distribuição você está executando? Um servidor Ubuntu padrão não vem com o nginx instalado, então, a menos que você o tenha instalado manualmente, nunca deveria ver essa página.

Se você tiver o nginx rodando no host, isso realmente interferirá na instalação e fará com que ela se comporte de forma inadequada.

Olá, Rafael, obrigado pela sua resposta.

Acho que posso ter alterado o meu /etc/hosts para contornar o problema real, que era o fato de o instalador indicar que as portas 443 e 80 não estavam acessíveis usando o nome de host que estou utilizando.

Na verdade, decidi remover a instalação e começar do zero, e é isso que está acontecendo novamente. Então, por que não esquecemos tudo o que disse acima e recomeçamos?

Por que não seria possível acessar as portas 443 e 80?

Tenho meu grupo de segurança da EC2 configurado para permitir todo o tráfego HTTP e HTTPS de entrada, então estou um pouco confuso aqui.

A instalação padrão não utiliza o nginx instalado no sistema e, se você tiver o nginx instalado no host, o Discourse não terá acesso às portas 80 e 443. Ao instalar o nginx no sistema, você impediu que o Discourse funcionasse em sua configuração padrão.

Isso não tem nada a ver com a Amazon. É apenas administração de sistemas Linux.

(Pode ser apropriado ter o nginx instalado no sistema para Setting up offline page, mas isso requer entender como as portas funcionam no Linux. :smiling_face: Portanto, não comece por aí se a situação atual não fizer sentido para você!)

1 curtida

Como eu disse, esqueça isso.

Eu descobri.

Acontece que você não pode permitir que o Cloudflare faça proxy do seu subdomínio do Discourse — você precisa clicar na nuvem laranja no registro A do subdomínio para deixá-la cinza, apenas DNS. Assim, sua instalação do Discourse não terá problemas para acessar as portas apropriadas.

Obrigado!

1 curtida