Configurando Caddy e Cloudflare para Discourse

Olá a todos,

Configurei o Discourse em community.website.com e o WordPress em website.com. Estou usando o Caddy como proxy reverso com o Let’s Encrypt gerenciando o SSL. Após alguns obstáculos iniciais, consegui fazer tudo funcionar perfeitamente, incluindo SSL e redirecionamentos. Optei por essa configuração após inúmeras falhas ao tentar outras maneiras de fazer o proxy reverso funcionar. O problema subjacente para mim foi a falta de experiência prévia com Docker ou Discourse.

Também entendo que pode haver problemas com cache e Discourse, então talvez menos seja mais ou algumas regras para evitar problemas.

Configuração Atual:

  • Discourse: Rodando via Docker em community.website.com.
  • WordPress: Instalado em website.com.
  • Caddy: Lida com proxy reverso e SSL Let’s Encrypt.
  • Cloudflare: Configurando para DNS, firewall e CDN.

O Desafio:

Ao usar o Cloudflare DNS sem proxy (apenas para DNS), tudo funciona perfeitamente — o Caddy gerencia o SSL Let’s Encrypt e não há problemas.

No entanto, ao mudar para o Cloudflare DNS com proxy ativado, a conexão falha com um erro de “Website Down” do Cloudflare. Atualizei meu Caddyfile para usar http:// tanto para o domínio raiz quanto para subdomínios e tentei várias configurações de SSL no Cloudflare (Flexible, Full e Full Strict), mas não consegui estabelecer uma conexão.

A questão é como devo configurar isso para que o Caddy, o Cloudflare com SSL funcionem bem com o Discourse?

Qualquer sugestão é bem-vinda!

Se você estiver utilizando os serviços de CDN e segurança da Cloudflare, não precisará configurar seu próprio certificado SSL em seu servidor de origem. Em vez disso, navegue até as configurações de SSL/TLS dentro do seu painel da Cloudflare e crie um ‘Certificado de Origem’. Este certificado protegerá o tráfego que transita do seu servidor de origem para a Cloudflare. Instale este Certificado de Origem em seu servidor de origem e tudo estará operacional.

2 curtidas

Você está executando o Caddy e o WordPress na máquina host ou como contêineres Docker?

1 curtida

Obrigado @shannon1024! Primeira vez para essa, mas foi tranquilo e está funcionando agora.

1 curtida

Executando no Docker. Criei um diretório no diretório do Discourse para os certificados. Fiquei surpreso por funcionar de primeira :smile:

1 curtida

Passo 5: Configurar o Discourse para Usar o Certificado SSL

  1. Edite a configuração do NGINX do Discourse para usar o certificado SSL. Normalmente, este arquivo está localizado em /etc/nginx/conf.d/discourse.conf ou dentro do diretório /var/discourse/containers/ se estiver usando Docker.

  2. Modifique ou adicione as seguintes linhas ao bloco do servidor:

https://developer.tenten.co/discourse-with-cloudflare-ssl

Estou tentando configurar o servidor de origem da CF e estou preso nesta etapa para a localização do arquivo discourse.conf para que eu possa fazer as modificações necessárias, onde isso normalmente fica?

As instruções não estão totalmente corretas aqui, pelo que pude verificar, pois não encontrei nada nesses locais.

Obrigado por qualquer ajuda antecipadamente.