Uso de Discourse con Cloudflare
Esta guía explica cómo configurar y usar Discourse con Cloudflare, incluyendo las mejores prácticas de seguridad y consejos para la solución de problemas.
Nivel de usuario requerido: Administrador
Se requiere acceso a la consola para instalaciones autoalojadas
Resumen
Cloudflare puede mejorar su instancia de Discourse con un rendimiento optimizado a través de CDN, capas de seguridad adicionales como protección contra DDoS y soporte HTTPS. Esta guía cubre el proceso de configuración y las mejores prácticas para una configuración óptima.
Por qué usar Cloudflare con Discourse
El uso de Cloudflare con su instancia de Discourse proporciona varios beneficios clave:
- Rendimiento: La CDN de Cloudflare puede mejorar el acceso mundial a los recursos comunes, mejorando la experiencia del usuario a nivel global (fuente)
- Seguridad: Capas de protección adicionales que incluyen:
- Protección contra DDoS (fuente)
- Soporte HTTPS (fuente) (alternativa a la configuración de Let’s Encrypt de Discourse)
Para las instalaciones autoalojadas, aunque Cloudflare ofrece estos beneficios, añade complejidad a su configuración.
Configuración de Cloudflare
- Familiarícese con los Fundamentos de Cloudflare
- Siga las instrucciones de configuración para configurar Cloudflare para su dominio y obtener los beneficios de seguridad, rendimiento y fiabilidad
Mejores prácticas de configuración
Configuración de DNS
- Asegúrese de que los registros DNS que apuntan a su instancia de Discourse estén proxificados
- Acceda a la configuración de DNS en
dash.cloudflare.com/?to=/:account/:zone/dns
Configuración de SSL/TLS
- Establezca el modo de cifrado en “Full (strict)” (Completo [estricto])
- Acceda a la configuración de SSL/TLS en
dash.cloudflare.com/?to=/:account/:zone/ssl-tls
Una configuración incorrecta de SSL/TLS puede provocar bucles de redirección
Configuración de Caching
- Establezca el nivel de caché en “Standard” (Estándar)
- Acceda a la configuración de caché en
dash.cloudflare.com/?to=/:account/:zone/caching/configuration
Reglas de Caché
Cloudflare ha desaprobado las Reglas de Página en favor de su moderno sistema de Reglas. Cree lo siguiente usando Reglas de Caché en dash.cloudflare.com/?to=/:account/:zone/rules:
- Establezca el Nivel de Caché en “Bypass” (Evitar) para
community.example.com/session/* - Configure los ajustes de normalización de URL para normalizar las URL entrantes
Configuración de Red
La configuración de red en dash.cloudflare.com/?to=/:account/:zone/network generalmente no afecta la funcionalidad de Discourse. Discourse no utiliza WebSockets, gRPC, o las cabeceras CF-IPCountry / True-Client-IP. Estas configuraciones se pueden dejar en sus valores predeterminados a menos que otro software en el mismo dominio requiera una configuración específica.
Configuración del WAF (Web Application Firewall)
Si su plan de Cloudflare admite Reglas Administradas, cree lo siguiente:
- Omitir WAF al crear/editar publicaciones:
(starts_with(http.request.uri.path, "/posts") and http.request.method in {"POST" "PUT"})
- Para los usuarios del plugin Data Explorer, omitir WAF en consultas de administrador:
((http.request.uri.path contains "/admin/plugins/explorer/queries/" or http.request.uri.path contains "/admin/plugins/discourse-data-explorer/queries/") and http.request.method eq "PUT")
Para ambas reglas:
- Elija “Skip all remaining rules” (Omitir todas las reglas restantes)
- Active “Log matching requests” (Registrar solicitudes coincidentes)
Si tiene un plan Business o superior, puede usar el operador
matchesregex para una coincidencia más precisa. Los operadoresstarts_withycontainsutilizados anteriormente funcionan en todos los planes, incluidos Free y Pro.
Acceda a la configuración del WAF en dash.cloudflare.com/?to=/:account/:zone/firewall/managed-rules
Optimización de contenido
Configure lo siguiente en dash.cloudflare.com/?to=/:account/:zone/speed/optimization:
- Habilitar Brotli
- Deshabilitar Rocket Loader™
Discourse recibe frecuentemente informes de sitio caído debido a que Rocket Loader™ está habilitado
Configuración adicional para instalaciones autoalojadas
Para asegurar el reenvío correcto de la dirección IP, añada lo siguiente a la sección de plantillas en su containers/app.yml:
- "templates/cloudflare.template.yml"
Después de añadir la plantilla, debe reconstruir su contenedor con
./launcher rebuild apppara que los cambios surtan efecto.
Relacionado: ¿Cómo configuras Cloudflare?
Recursos de soporte
- Soporte de la Comunidad de Cloudflare
- Buscar en Discourse Meta problemas relacionados con Cloudflare
Solución de problemas
Problemas de Content Security Policy (CSP)
Si encuentra errores de CSP:
- Verifique que Rocket Loader esté deshabilitado
- Compruebe que los scripts se añadan correctamente a la configuración del sitio
content security policy script src
Funcionalidad OneBox
Si OneBox está siendo bloqueado:
- Compruebe si Super Bot Fight Mode está habilitado
- Ajuste la configuración de “Definitely automated” (Definitivamente automatizado) si está configurada como “Managed” (Administrada) o “Block” (Bloquear)
- Considere crear una regla WAF personalizada para el agente de usuario de OneBox



