Usando o modelo CloudFlare

Há algumas horas, configurei o Cloudflare como CDN (ícone de nuvem cinza) para o meu site Discourse (example.com). Depois disso, encontrei o seguinte:

Portanto, adicionei (última linha)

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Descomente essas duas linhas se quiser adicionar o Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/cloudflare.template.yml"

Minha pergunta: isso era necessário ao usar apenas o Cloudflare como CDN para o Discourse? Ou eu interpretei mal as instruções? Não quero adicionar templates se for desnecessário.

8 curtidas

Resumindo, porque o CloudFlare não é um CDN típico.

A nuvem cinza significa que o CloudFlare está apenas fornecendo DNS para aquele endereço.

Se você ativar a nuvem laranja, o endereço IP mostrado ao mundo exterior será alterado e todo o tráfego será proxyado através de sua rede, o que permite tanto ‘proteger’ o servidor quanto armazenar em cache ativos como imagens e JavaScript.

O template é necessário porque, uma vez que o CloudFlare fica entre seu site e o mundo exterior, seu servidor verá apenas os IPs do CloudFlare se conectando a ele. Ao usar o template, seu site voltará a ver os IPs dos clientes que o CloudFlare encaminha no cabeçalho CF-Connecting-IP.

Sem essa configuração correta, você verá erros de limite de conexão e encontrará erros relacionados a endereços IP de registro, já que todo o tráfego do usuário parecerá vir de um punhado de endereços.

Se decidir ativar o CDN do CloudFlare (nuvem laranja), você precisará dar mais um passo e criar uma regra de página para o endereço da sua instância do Discourse. A regra precisa ‘Desativar Performance’, o que desligará os recursos do CloudFlare que são bem documentados como interferindo no Discourse.

Observe que, se você estiver usando o CloudFlare para colocar seu site na frente, em vez de um bucket S3, você adicionou saltos de rede adicionais entre seu servidor e os clientes na internet. Lembre-se de que o Discourse não é um site, é uma aplicação JavaScript. Uma vez que o Discourse carrega no navegador, ele não está baixando páginas quando os usuários clicam em links. Adicionar esses saltos de rede adicionais adicionará um pequeno, mas não totalmente imperceptível, atraso a cada clique.

A menos que seu site esteja sob ataque, a maneira inteligente de usar o CloudFlare é migrar seus ativos para o S3 (armazenamento de objetos, em vez de um CDN) e, em seguida, usar o CloudFlare na frente desse armazenamento S3. Dessa forma, as comunicações dos clientes permanecem rápidas, a largura de banda de download de ativos é reduzida e, o melhor de tudo, você libera armazenamento local no seu servidor Discourse.

14 curtidas

Não acredito que estou rodando meu site há um ano sem ter configurado o Cloudflare corretamente. Estou surpreso por não ter notado nenhum erro. Obrigado pela informação!

1 curtida

Obrigado, @Stephen. Isso foi extremamente informativo. Minha principal conclusão é que a Cloudflare provavelmente não foi a escolha certa para mim, já que as CDNs tradicionais são menos disruptivas — apesar da falta de proteção contra DDoS.

3 curtidas

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