Usar 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 resolución de problemas.
Nivel de usuario requerido: Administrador
Se requiere acceso a la consola para instalaciones autoalojadas
Resumen
Cloudflare puede mejorar tu instancia de Discourse con un rendimiento mejorado a través de CDN, capas de seguridad adicionales como protección 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?
Usar Cloudflare con tu instancia de Discourse proporciona varios beneficios clave:
- Rendimiento: La CDN de Cloudflare puede mejorar el acceso global a activos comunes, mejorando la experiencia del usuario a nivel mundial (fuente)
- Seguridad: Capas de protección adicionales que incluyen:
- Protección DDoS (fuente)
- Soporte HTTPS (fuente) (alternativa a la configuración de Let’s Encrypt de Discourse)
Para instalaciones autoalojadas, aunque Cloudflare ofrece estos beneficios, añade complejidad a tu configuración.
Configuración de Cloudflare
- Familiarízate con los Fundamentos de Cloudflare
- Sigue las instrucciones de configuración para configurar Cloudflare para tu dominio y obtener los beneficios de seguridad, rendimiento y fiabilidad
Mejores prácticas de configuración
Ajustes de DNS
- Asegúrate de que los registros DNS que apuntan a tu instancia de Discourse estén en modo proxy.
- Accede a la configuración de DNS en
dash.cloudflare.com/?to=/:account/:zone/dns
Configuración de SSL/TLS
- Establece el modo de encriptación en “Full (strict)”.
- Accede a la configuración de SSL/TLS en
dash.cloudflare.com/?to=/:account/:zone/ssl-tls
Una configuración SSL/TLS incorrecta puede causar bucles de redirección.
Configuración de caché
- Establece el nivel de caché en “Standard”.
- Accede a la configuración de caché en
dash.cloudflare.com/?to=/:account/:zone/caching/configuration
Reglas de página
Crea las siguientes reglas de página en dash.cloudflare.com/?to=/:account/:zone/rules:
- Establece el Nivel de Caché en “Bypass” para
community.example.com/session/* - Configura los Ajustes de Reglas para normalizar las URL entrantes.
Ajustes de red
Configura lo siguiente en dash.cloudflare.com/?to=/:account/:zone/network:
Habilitar:
- Compatibilidad con IPv6
- Geolocalización IP
- Registro de errores de red
- Enrutamiento Onion
Deshabilitar:
- Pseudo IPv4
- Búfer de respuesta
- Encabezado True-Client-IP
- gRPC
Establece el Tamaño máximo de carga según la política de tu sitio (se recomiendan 100 MB).
Ajustes de WAF (Firewall de Aplicaciones Web)
Si tu plan de Cloudflare admite Reglas administradas, crea lo siguiente:
- Omitir WAF en la creación/edición de publicaciones:
(http.request.uri.path eq "/posts(/[0-9]+)?" and http.request.method in {"POST" "PUT"}) - Para usuarios del plugin Data Explorer, omite WAF en consultas de administrador:
(http.request.uri.path contains "/admin/plugins/explorer/queries/" and http.request.method eq "PUT")
Para ambas reglas:
- Elige “Omitir todas las reglas restantes”.
- Habilita “Registrar solicitudes coincidentes”.
Accede a la configuración de WAF en dash.cloudflare.com/?to=/:account/:zone/firewall/managed-rules
Optimización de contenido
Configura lo siguiente en dash.cloudflare.com/?to=/:account/:zone/speed/optimization:
- Habilita Brotli
- Deshabilita Rocket Loader™
- Deshabilita Minificación automática
Discourse recibe frecuentemente informes de sitio caído debido a la habilitación de Rocket Loader™
Configuración adicional para instalaciones autoalojadas
Para asegurar el reenvío correcto de la dirección IP, añade lo siguiente a la sección de plantillas en tu containers/app.yml:
- "templates/cloudflare.template.yml"
Relacionado: ¿Cómo se configura Cloudflare?
Recursos de soporte
Resolución de problemas
Problemas de Política de Seguridad de Contenido (CSP)
Si encuentras errores de CSP:
- Verifica que Rocket Loader esté deshabilitado.
- Comprueba que los scripts se añaden correctamente a la configuración del sitio
content security policy script src.
Funcionalidad OneBox
Si OneBox está siendo bloqueado:
- Comprueba si el modo Super Bot Fight está habilitado.
- Ajusta la configuración “Definitivamente automatizado” si está configurada como “Gestionado” o “Bloquear”.
- Considera crear una regla WAF personalizada para el agente de usuario de OneBox.



