Não consigo conectar à instalação do discourse

Tentando instalar o Discourse do zero em um servidor OVH bare metal rodando Fedora Server 38 e a instalação ocorreu bem, mas não consigo acessá-lo usando o nome de host que especifiquei em app.yml forums.dogsrv.dev.
O firewall de borda da OVH está desativado, o firewalld está desativado, o iptables está desativado, o DNS resolve corretamente, estou perdido sobre o que mais verificar neste momento, qualquer ideia seria apreciada.

Você pode verificar em /var/discourse/shared/standalone/log/var-log/nginx/production.log. Minha suposição é que você foi limitado pelo let’s encrypt porque o DNS ou outra coisa impediu a emissão de um certificado.

Se for esse o caso, você pode esperar uma semana ou usar um subdomínio diferente (como forum em vez de forums).

Você executou o discourse-setup?

1 curtida

Estranhamente, não tenho um production.log nessa pasta, no entanto, tenho um error.log que contém apenas este erro repetidamente

2023/06/02 07:27:34 [emerg] 289163#289163: não é possível carregar o certificado "/shared/ssl/forums.dogsrv.dev.cer": PEM_read_bio_X509_AUX() falhou (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

e, de fato, quando olhei para esse arquivo de certificado, ele estava vazio.

Eu executei o discourse-setup inicialmente, mas ele sempre apresentava um erro com

Hostname para o seu Discourse? [forums.dogsrv.dev]:

Verificando o nome do seu domínio . . .
AVISO: A porta 443 do computador não parece ser acessível usando o nome do host: forums.dogsrv.dev.
AVISO: A conexão com http://forums.dogsrv.dev (porta 80) também falha.

O que presumi ser devido ao TLD .dev estar na lista de preload HSTS do Google por padrão, então apenas configurei o app.yml manualmente e executei ./launcher rebuild app, o que pareceu funcionar bem.

Tentei mudar o subdomínio para forum e reconstruí o aplicativo, mas ainda estou tendo o mesmo problema e recebendo o mesmo erro de antes, exceto com forum em vez de forums.

Você abriu portas no seu firewall fora do Docker?

Sim, o firewalld está completamente desativado junto com o iptables. Se eu instalar e configurar manualmente o apache ou nginx no próprio servidor, posso ver que o tráfego é permitido nas portas 80 e 443, mas por causa do HSTS preciso ter o rewrite HTTPS habilitado em todas as requisições HTTP e um certificado SSL funcional, que é o que está sendo um problema no momento.

Talvez você devesse abrir as portas 80 e 443, então?

1 curtida

Ainda parece que algo está interferindo no tráfego de entrada. Você está usando o Cloudflare para DNS?

Não, usando o Google.

Se o teste que o Discourse-setup está fazendo falhar, você precisa encontrar a explicação para isso. É bem claro que ele está certo e que o Let’s Encrypt não pode atribuir um certificado.

Como você sabe instalar nginx e apache, pode tentar fazer o Let’s Encrypt emitir um certificado, mas é bem claro que ele está bloqueando 80 e/ou 443.

1 curtida

Ok, então o problema era que o discourse-setup está quebrado ao usar versões mais recentes do netcat, como pode ser visto neste pull request: https://github.com/discourse/discourse_docker/pull/697
Remover a flag -p corrige o discourse-setup de relatar falsamente que não consegue estabelecer uma conexão nas portas, e então ele termina e reconstrói o aplicativo com sucesso, e agora consigo me conectar à minha instalação sem problemas.
Obrigado pela ajuda.

1 curtida

Fico feliz que tenha funcionado! Estou confuso sobre por que a reconstrução falhou em obter o certificado, pois pensei que você faria a reconstrução e pularia a etapa de configuração do discourse.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.