Usando o Discourse com Cloudflare
Este guia explica como configurar e usar o Discourse com Cloudflare, incluindo melhores práticas de segurança e dicas de solução de problemas.
Nível de usuário necessário: Administrador
O acesso ao console é necessário para instalações auto-hospedadas
Resumo
O Cloudflare pode aprimorar sua instância do Discourse com melhor desempenho através de CDN, camadas de segurança adicionais como proteção DDoS e suporte HTTPS. Este guia abrange o processo de configuração e as melhores práticas para uma configuração otimizada.
Por que usar Cloudflare com Discourse
Usar o Cloudflare com sua instância do Discourse oferece vários benefícios-chave:
- Desempenho: A CDN do Cloudflare pode melhorar o acesso global a ativos comuns, aprimorando a experiência do usuário em todo o mundo (fonte)
- Segurança: Camadas de proteção adicionais, incluindo:
- Proteção DDoS (fonte)
- Suporte HTTPS (fonte) (alternativa à configuração Let’s Encrypt do Discourse)
Para instalações auto-hospedadas, embora o Cloudflare ofereça esses benefícios, ele adiciona complexidade à sua configuração.
Configurando o Cloudflare
- Familiarize-se com os Fundamentos do Cloudflare
- Siga as direções de configuração para configurar o Cloudflare para seu domínio e obter os benefícios de segurança, desempenho e confiabilidade
Melhores práticas de configuração
Configurações de DNS
- Certifique-se de que os registros DNS que apontam para sua instância do Discourse estejam em proxy
- Acesse as configurações de DNS em
dash.cloudflare.com/?to=/:account/:zone/dns
Configuração de SSL/TLS
- Defina o modo de criptografia como “Full (strict)”
- Acesse as configurações de SSL/TLS em
dash.cloudflare.com/?to=/:account/:zone/ssl-tls
Uma configuração incorreta de SSL/TLS pode causar loops de redirecionamento
Configuração de cache
- Defina o nível de cache como “Standard”
- Acesse as configurações de cache em
dash.cloudflare.com/?to=/:account/:zone/caching/configuration
Regras de página
Crie as seguintes regras de página em dash.cloudflare.com/?to=/:account/:zone/rules:
- Defina o Nível de Cache como “Bypass” para
community.example.com/session/* - Configure as Configurações de Regras para normalizar URLs de entrada
Configurações de rede
Configure o seguinte em dash.cloudflare.com/?to=/:account/:zone/network:
Habilitar:
- Compatibilidade com IPv6
- Geolocalização de IP
- Registro de Erros de Rede
- Roteamento Onion
Desabilitar:
- Pseudo IPv4
- Buffering de Resposta
- Cabeçalho True-Client-IP
- gRPC
Defina o Tamanho Máximo de Upload de acordo com a política do seu site (100 MB recomendado)
Configurações de WAF (Web Application Firewall)
Se o seu plano Cloudflare suportar Regras Gerenciadas, crie o seguinte:
- Ignorar WAF na criação/edição de posts:
(http.request.uri.path eq "/posts(/[0-9]+)?" and http.request.method in {"POST" "PUT"})
- Para usuários do plugin Data Explorer, ignorar WAF em consultas de administrador:
(http.request.uri.path contains "/admin/plugins/explorer/queries/" and http.request.method eq "PUT")
Para ambas as regras:
- Escolha “Skip all remaining rules” (Ignorar todas as regras restantes)
- Habilite “Log matching requests” (Registrar solicitações correspondentes)
Acesse as configurações de WAF em dash.cloudflare.com/?to=/:account/:zone/firewall/managed-rules
Otimização de conteúdo
Configure o seguinte em dash.cloudflare.com/?to=/:account/:zone/speed/optimization:
- Habilitar Brotli
- Desabilitar Rocket Loader™
- Desabilitar Auto Minify
O Discourse frequentemente recebe relatórios de site fora do ar devido ao Rocket Loader™ estar habilitado
Configuração adicional para instalações auto-hospedadas
Para garantir o encaminhamento correto do endereço IP, adicione o seguinte à seção de templates em seu containers/app.yml:
- "templates/cloudflare.template.yml"
Relacionado: Como configurar o Cloudflare?
Recursos de suporte
- Suporte da Comunidade Cloudflare
- Pesquise no Discourse Meta por problemas relacionados ao Cloudflare
Solução de problemas
Problemas de Política de Segurança de Conteúdo (CSP)
Se você encontrar erros de CSP:
- Verifique se o Rocket Loader está desabilitado
- Verifique se os scripts estão corretamente adicionados à configuração do site
content security policy script src
Funcionalidade OneBox
Se o OneBox estiver sendo bloqueado:
- Verifique se o Super Bot Fight Mode está habilitado
- Ajuste a configuração “Definitely automated” se estiver definida como “Managed” ou “Block”
- Considere criar uma regra de WAF personalizada para o agente do usuário do OneBox



