HTTPS: problema ao tentar configurar certificado SSL

Olá!

Estava tentando ativar o HTTPS para o meu site seguindo este ótimo tutorial. Tudo correu bem até que tentei reconstruir o aplicativo, digitando ./launcher rebuild app.

Executei o discourse-doctor para tentar entender o problema e finalmente encontrei algo:

==================== FIM DO LOG DE RECONSTRUÇÃO ====================
Falha ao reconstruir o aplicativo.

Verificando seu nome de domínio . . .

Conexão com discourse.mydomain.com bem-sucedida.
Você provavelmente deve remover qualquer plugin não padrão e reconstruir.
Tentando reiniciar o contêiner existente . . .

iniciando o contêiner existente
+ /usr/bin/docker start app
Resposta de erro do daemon: o driver falhou ao programar a conectividade externa no endpoint app (alguns_caracteres_aleatorios): Erro ao iniciar o proxy do usuário: listen tcp 0.0.0.0:443: bind: endereço já em uso
Erro: falha ao iniciar os contêineres: app
Falha ao reiniciar o contêiner.

Nota: Substituí uma longa sequência de caracteres por alguns_caracteres_aleatorios e meu nome de domínio por discourse.mydomain.com.

Isso é bastante estranho, já que segui o tutorial à risca; não faço ideia de como corrigir isso.

Qualquer ajuda seria muito apreciada!

Tenha um ótimo dia,

nekodroid

Você precisará compartilhar seu app.yml para um diagnóstico mais detalhado. Certifique-se de remover quaisquer e-mails e senhas sensíveis antes de postar.

---
env:
  DISCOURSE_DEVELOPER_EMAILS: myemailadress@maildomain.com
  DISCOURSE_HOSTNAME: discourse.mydomain.com
  DISCOURSE_SMTP_ADDRESS: stmp.eu.mailgun.org
  DISCOURSE_SMTP_PASSWORD: smtppasswordwithoutquotes
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: postmaster@discourse.mydomain.com
  LANG: en_US.UTF-8
  LETSENCRYPT_ACCOUNT_EMAIL: myemailadress@maildomain.com
  UNICORN_WORKERS: 2
expose:
  - "80:80"
  - "443:443"
hooks:
  after_code:
    -
      exec:
        cd: $home/plugins
        cmd:
          - "git clone https://github.com/discourse/docker_manager.git"
params:
  db_default_text_search_config: pg_catalog.english
  db_shared_buffers: 128MB
run:
  -
    exec: "echo \"Início dos comandos personalizados\""
  -
    exec: "echo \"Fim dos comandos personalizados\""
templates:
  - templates/postgres.template.yml
  - templates/redis.template.yml
  - templates/web.template.yml
  - templates/web.ratelimited.template.yml
  - templates/web.template.yml
  - templates/web.ssl.template.yml
  - templates/web.letsencrypt.ssl.template.yml
volumes:
  -
    volume:
      guest: /shared
      host: /var/discourse/shared/standalone
  -
    volume:
      guest: /var/log
      host: /var/discourse/shared/standalone/log/var-log

Aqui está ~

Você leu esta parte?

Parece que há um problema com sua instalação do Docker.

E por que você reescreveu completamente a ordem das coisas no app.yml?

Eu realmente li este guia, e ele falhou no comando wget -qO- https://get.docker.com/ | sh; ele dizia “uso incorreto do comando wget”, pelo que me lembro. Então, pulei para as próximas etapas, e lembro que o Docker foi instalado automaticamente após digitar o comando ./discourse-setup.

Isso provavelmente é o meu problema…

Vou reiniciar completamente a minha instalação do Discourse desde o início e depois atualizar este tópico.

Muito obrigado pela ajuda, amigos! :smiley_cat:

Sim! Isso foi adicionado em algum momento. Não tenho certeza de quando.

Fico feliz que você esteja online.

Obrigado :uwu:

Aliás, estou com outro erro agora!

Executei o programa de configuração automática discourse-setup e adicionei um endereço de e-mail para criptografia do Let’s Encrypt quando solicitado. Agora aparece a seguinte mensagem:

Verificando seu nome de domínio . . .
AVISO:: Este servidor não parece estar acessível em discourse.apertureproject.me:443.

Uma conexão com http://discourse.apertureproject.me (porta 80) também falha.

De acordo com isso, o erro se deve a portas não abertas, e eu não faço ideia de como corrigir isso. E não lançaria meu site sem criptografia, então não vou desativar o Let’s Encrypt.

EDIT!

Encontrei a documentação do meu provedor (OVH) sobre como abrir portas. Mas meu gerenciador de IPs está vazio, e deveria estar preenchido com vários endereços de IP, conforme os prints da documentação.

Desculpe, está em francês, mas como podem ver, a lista de endereços de IP está completamente vazia.

O teste pode falhar mesmo sem haver um problema real, para que você possa ver o que acontece.

O DNS está configurado? Não. discourse.apertureproject.me não resolve. Você precisa configurar o DNS antes de poder usar HTTPS.

Qual sistema operacional você está usando? Qual plataforma? (Algumas têm portas desativadas por padrão)

Se você executar nc na linha de comando, recebe “comando não encontrado”?

Tudo bem, como faço isso?

Sei que se trata de registros DNS, mas qual é o tipo de valor, etc?

Por valor, me refiro a A, AAAA, NS, etc.

Porque já adicionei o seguinte na categoria de servidores DNS:

Muito obrigado pela ajuda também ~ :smiley_cat:

Você precisa de um registro A apontando para o IP do seu droplet.

Já fiz isso.

Outra pergunta: estou com um problema que nunca tive antes. Agora, ao acessar apertureproject.me, aparece a página de boas-vindas do nginx.

Antes, aparecia a mensagem de instalação bem-sucedida do Discourse.

A página de instalação abre. Isso é normal. Corra para instalá-la.

Então, como faço para instalá-lo? Não entendi. Nunca tive essa página antes.

Desculpe, sou um pouco novo nisso… confuso :tired_face:

siga apenas as instruções.

Você quer dizer o guia de instalação de 30 minutos? Eu o segui.

não, você já fez isso. você está agora na etapa de registro de administrador.

Ah… Ainda não estou entendendo x’( O que você me recomenda fazer?

O que você vê ao navegar pelo seu domínio?

Bem-vindo ao nginx!

Se você está vendo esta página, o servidor web nginx foi instalado e está funcionando corretamente. Configurações adicionais são necessárias.

Para documentação e suporte online, consulte nginx.org.

Suporte comercial está disponível em nginx.com.

Agradecemos por usar o nginx.

não, eu vejo a página de registro. limpe seu cache, histórico do navegador e tente novamente.