⚠ A porta 443 deste computador não parece estar acessível usando o hostname: metabolism.logophilia.eu ----

Olá, estou recebendo o erro mencionado no título (veja também abaixo) após obter a mensagem “ As portas 80 e 443 estão livres para uso” durante a inicialização. O DNS está configurado, o SSL foi configurado e o site está acessível de fora (faça o teste você mesmo). A saída do curl (truncada) foi adicionada abaixo, ou seja, o site é acessível também a partir da própria máquina. Estou sem ideias sobre o que está faltando. Obrigado por qualquer insight.

PS: AlmaLinux 10.2 - 6.12.0-211.7.4.el10_2.x86_64

# ./discourse-setup  
→ Verificando atualizações da imagem do assistente de configuração... 
→ Iniciando o Assistente de Configuração do Discourse... 
 
 
 ___  _ 
|   \(_)___ __ ___ _  _ _ _ ___ ___ 
| |) | (_-< / _/ _ \ || | '_(-< / -_) 
|___/|_/__/\__\___/\_,_|_| /__/\___| 
                       Assistente de Configuração 
 
 
→ Este assistente ajudará você a configurar sua instalação do Discourse. 
→ Pressione Ctrl+C a qualquer momento para cancelar. 
 
── Verificações do Sistema ── 
 
[1/5] Verificando requisitos do sistema 
✓ Executando como root 
✓ Docker disponível 
✓ Memória: 8GB, CPU: 4 núcleos 
 
── Configuração ── 
 
[2/5] Preparando configuração 
✓ As portas 80 e 443 estão livres para uso 
→ Criando nova configuração... 
→ Criando nova configuração a partir do modelo... 
 
── Configurações do Site ── 
 
[3/5] Insira os detalhes do seu site 
 
Endereço de e-mail para conta(s) de administrador? 
eduard.pech@logophilia.eu▌ 
 
Você tem um nome de domínio para o seu Discourse? 
▸ Sim      Não 
 
Hostname para o seu Discourse? 
metabolism.logophilia.eu▌ 
 
Configurar SMTP para envio de e-mails? (Requer credenciais SMTP) 
  Sim    ▸ Não 
 
 
── Revisar Configuração ── 
 
 
╭────────────────────────────────────────────╮ 
│                                            │ 
│  Hostname       metabolism.logophilia.eu   │ 
│  E-mail do Admin    eduard.pech@logophilia.eu  │ 
│  SMTP           (não configurado)           │ 
│  Let's Encrypt  Ativado                    │ 
│                                            │ 
╰────────────────────────────────────────────╯ 
 
 
Isso parece correto? 
▸ Sim      Não 
→ Foram encontrados 8GB de memória e 4 núcleos de CPU 
→ Definindo db_shared_buffers = 2048MB 
→ Definindo UNICORN_WORKERS = 8 
 
── Validação de Rede ── 
 
[4/5] Verificando configuração do domínio 
→ Verificando seu nome de domínio... 
⚠ A porta 443 deste computador não parece estar acessível usando o hostname: metabolism.logophilia.eu 
⚠ A conexão com http://metabolism.logophilia.eu (porta 80) também falha. 
 
Isso sugere que metabolism.logophilia.eu resolve para algum endereço IP que não alcança esta 
máquina onde você está instalando o Discourse. 
 
A primeira coisa a fazer é confirmar que metabolism.logophilia.eu resolve para o endereço IP deste servidor. 
Geralmente, você faz isso no mesmo local onde adquiriu o domínio. 
 
Se você tem certeza de que o endereço IP está resolvendo corretamente, pode ser um problema de firewall. 
Uma pesquisa na web por "abrir portas SEU_SERVIÇO_DE_NUVEM" pode ajudar. 
 
Esta ferramenta foi projetada apenas para as instalações mais padrão. Se você não conseguir resolver 
o problema acima, será necessário editar o containers/app.yml manualmente e, em seguida, digitar: 
 
    ./launcher rebuild app 
 
 
✗ Verificação de DNS falhou para metabolism.logophilia.eu 
[root@logophilia discourse]# dig metabolism.logophilia.eu 
 
; <<>> DiG 9.18.33 <<>> metabolism.logophilia.eu 
;; opções globais: +cmd 
;; Resposta recebida: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36726 
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 
 
;; PSEUDOSECTION OPT: 
; EDNS: versão: 0, flags:; udp: 512 
;; SEÇÃO DE PERGUNTA: 
;metabolism.logophilia.eu.      IN      A 
 
;; SEÇÃO DE RESPOSTA: 
metabolism.logophilia.eu. 300   IN      A       75.119.134.68 
 
;; Tempo de consulta: 8 msec 
;; SERVIDOR: 213.136.95.10#53(213.136.95.10) (UDP) 
;; QUANDO: Sáb Jun 06 04:52:23 CEST 2026 
;; TAMANHO DA MSG rcvd: 69 
 
[root@logophilia discourse]# curl -v https://metabolism.logophilia.eu 
* Host metabolism.logophilia.eu:443 foi resolvido. 
* IPv6: (nenhum) 
* IPv4: 75.119.134.68 
*   Tentando 75.119.134.68:443... 
* ALPN: curl oferece h2,http/1.1 
* TLSv1.3 (SAÍDA), handshake TLS, Client hello (1): 
*  CAfile: /etc/pki/tls/certs/ca-bundle.crt 
*  CApath: nenhum 
* TLSv1.3 (ENTRADA), handshake TLS, Server hello (2): 
* TLSv1.3 (ENTRADA), TLS change cipher, Change cipher spec (1): 
* TLSv1.3 (ENTRADA), handshake TLS, Encrypted Extensions (8): 
* TLSv1.3 (ENTRADA), handshake TLS, Certificate (11): 
* TLSv1.3 (ENTRADA), handshake TLS, CERT verify (15): 
* TLSv1.3 (ENTRADA), handshake TLS, Finished (20): 
* TLSv1.3 (SAÍDA), TLS change cipher, Change cipher spec (1): 
* TLSv1.3 (SAÍDA), handshake TLS, Finished (20): 
* Conexão SSL usando TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS 
* ALPN: servidor aceitou http/1.1 
* Certificado do servidor: 
*  subject: CN=metabolism.logophilia.eu 
*  data de início: Jun  6 00:26:43 2026 GMT 
*  data de expiração: Sep  4 00:26:42 2026 GMT 
*  subjectAltName: host "metabolism.logophilia.eu" corresponde ao "metabolism.logophilia.eu" do certificado 
*  issuer: C=US; O=Let's Encrypt; CN=YR2 
*  Verificação do certificado SSL OK. 
*   Nível 0 do certificado: Tipo de chave pública RSA (2048/112 Bits/secBits), assinado usando sha256WithRSAEncryption 
*   Nível 1 do certificado: Tipo de chave pública RSA (2048/112 Bits/secBits), assinado usando sha256WithRSAEncryption 
*   Nível 2 do certificado: Tipo de chave pública RSA (4096/152 Bits/secBits), assinado usando sha256WithRSAEncryption 
*   Nível 3 do certificado: Tipo de chave pública RSA (4096/152 Bits/secBits), assinado usando sha256WithRSAEncryption 
* Conectado a metabolism.logophilia.eu (75.119.134.68) porta 443 
* usando HTTP/1.x 
> GET / HTTP/1.1 
> Host: metabolism.logophilia.eu 
> User-Agent: curl/8.12.1 
> Accept: */* 
>  
* Solicitação completamente enviada 
* TLSv1.3 (ENTRADA), handshake TLS, Newsession Ticket (4): 
* TLSv1.3 (ENTRADA), handshake TLS, Newsession Ticket (4): 
< HTTP/1.1 200 OK 
< Date: Sáb, 06 Jun 2026 02:52:36 GMT 
< Server: Apache 
< Last-Modified: Sáb, 06 Jun 2026 01:25:19 GMT 
< ETag: "1325f-6538ba67ff892" 
< Accept-Ranges: bytes 
< Content-Length: 78431 
< Content-Type: text/html; charset=UTF-8 
<  
<!doctype html> 
<html lang="en" data-bs-theme="auto"> 
<head> 
  <title> 
    metabolism.logophilia.eu &mdash;  Página de boas-vindas do domínio para  </title> 
  <meta charset="utf-8">
……


Olá,

Verifiquei seu site pessoalmente. Parece que seu provedor de hospedagem está ocupando a porta 443 para exibir esta página de boas-vindas. Você precisará descobrir como liberar completamente as portas 443/80 para que o Discourse possa controlá-las.

Já fiz isso: o VPS é gerenciado pelo Virtualmin e se trata apenas de uma caixa de seleção. Infelizmente, quando desmarco a opção “site habilitado”, não consigo fazer curl na porta 443/80 a partir do host, e a configuração do Discourse continua reclamando com o mesmo erro. Então pensei em reativar o site, para que, pelo menos, pudesse mostrar que o handshake SSL funciona.
E, como você pode ver na minha postagem original, a configuração do Discourse afirma (inicialmente) que a porta 443 está disponível. É minha primeira instalação, e eu interpretaria isso como: tudo verde. Então por que a configuração “muda de ideia”?
Por outro lado, não preciso realmente entender cada detalhe. Só estou dizendo: com o Apache desabilitado no subdomínio, o resultado da configuração do Discourse é o mesmo.

Obrigado por dedicar seu tempo. Se houver algo mais que eu possa fornecer para esclarecer, farei (quase) qualquer coisa.

Eu tive o mesmo problema aqui (no meu próprio servidor em casa):

Acredito que a solução seja apenas fazer isso se você tiver 100% de certeza de que o DNS está correto e suas portas estão funcionando corretamente.

./install-discourse --skip-connection-test

Obrigado, parece que funcionou! :purple_heart:

O script está além de 5/5 agora, e parece que está fazendo o upload e a instalação de muitas coisas adicionais. O certificado SSL está errado agora; acho que está aguardando o tempo de expiração do TTL ou talvez fique tudo certo assim que a configuração for concluída.

Embora eu não tenha a menor ideia sobre Discourse, Docker ou até mesmo Ruby… a parte de DNS nunca é um problema :slight_smile: Obrigado novamente!

Vejo que já está marcado como solução. Mas, se posso, tenho mais uma pergunta.

Sei que o Postgres é necessário, mas isso não é mencionado em

https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md

Então, pensei que a imagem do Docker já viesse com o Postgres instalado. Poderia esclarecer se preciso instalar o Postgres no VPS? Porque as instruções de instalação não mencionam isso.

… ou talvez o Docker venha com o Postgres, mas o script falhou de alguma forma? Porque ele encerra no final:

........
I, [2026-06-06T04:23:49.114769 #1]  INFO -- : Arquivo > /etc/runit/1.d/install-ssl  chmod: +x  chown: 
I, [2026-06-06T04:23:49.114999 #1]  INFO -- : Substituindo # após ssl por if [ -z "$DISABLE_LETSENCRYPT" ] || [ -n "$ENABLE_LETSENCRYPT" ]; then
  /usr/local/bin/configure-ssl
  exec /usr/local/bin/configure-letsencrypt
fi
# após ssl em /etc/runit/1.d/install-ssl
I, [2026-06-06T04:23:49.125964 #1]  INFO -- : Arquivo > /usr/local/bin/configure-ssl  chmod: +x  chown: 
I, [2026-06-06T04:23:49.127031 #1]  INFO -- : > curl https://raw.githubusercontent.com/acmesh-official/acme.sh/3.0.6/acme.sh > /opt/acme.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  215k  100  215k    0     0   635k      0 --:--:-- --:--:-- --:--:--  637k
I, [2026-06-06T04:23:49.514883 #1]  INFO -- : > chmod +x /opt/acme.sh
I, [2026-06-06T04:23:49.554670 #1]  INFO -- : Arquivo > /usr/local/bin/configure-letsencrypt  chmod: +x  chown: 
I, [2026-06-06T04:23:49.596808 #1]  INFO -- : Arquivo > /usr/local/bin/letsencrypt  chmod: +x  chown: 
I, [2026-06-06T04:23:49.598926 #1]  INFO -- : > echo "Início dos comandos personalizados"
Início dos comandos personalizados
I, [2026-06-06T04:23:49.605809 #1]  INFO -- : > echo "Fim dos comandos personalizados"
Fim dos comandos personalizados
I, [2026-06-06T04:23:49.608842 #1]  INFO -- : Encerrando processos assíncronos
I, [2026-06-06T04:23:49.609015 #1]  INFO -- : Enviando INT para HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 44
I, [2026-06-06T04:23:49.609157 #1]  INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 111
2026-06-06 04:23:49.609 UTC [44] LOG:  requisição de desligamento rápido recebida
111:signal-handler (1780719829) SIGTERM recebido, agendando desligamento...
2026-06-06 04:23:49.612 UTC [44] LOG:  abortando quaisquer transações ativas
2026-06-06 04:23:49.619 UTC [44] LOG:  worker em segundo plano "lançador de replicação lógica" (PID 58) saiu com código de saída 1
2026-06-06 04:23:49.623 UTC [53] LOG:  desligando
2026-06-06 04:23:49.634 UTC [53] LOG:  checkpoint iniciado: desligamento imediato
111:M 06 Jun 2026 04:23:49.683 * Solicitação de desligamento pelo usuário...
111:M 06 Jun 2026 04:23:49.683 * Salvando o snapshot RDB final antes de sair.
111:M 06 Jun 2026 04:23:49.698 * Banco de dados salvo no disco
111:M 06 Jun 2026 04:23:49.700 # Redis está pronto para sair, tchau tchau...
2026-06-06 04:23:49.711 UTC [53] LOG:  checkpoint concluído: escreveu 87 buffers (0,0%); 0 arquivo(s) WAL adicionado(s), 0 removido(s), 0 reciclado(s); write=0,041 s, sync=0,022 s, total=0,088 s; sync files=52, longest=0,008 s, average=0,001 s; distance=86 kB, estimate=86 kB
2026-06-06 04:23:49.735 UTC [44] LOG:  sistema de banco de dados desligado