Usando Discourse con Cloudflare: Mejores prácticas

Espero que sea útil, pero también escribí una guía general sobre la mejor configuración aquí:

Un miembro del personal de Cloudflare también agregó algunos consejos y correcciones en la sección de comentarios.

Estoy actualizando esa guía e intentaba ver si había algún consejo nuevo de Discourse y encontré esta página.

¡Los agregaré a mis reglas administradas. ¡Gracias!

Aquí hay una descripción general de mis reglas personalizadas. Esto realmente ha ayudado a reducir el spam y, a menudo (no siempre), parte del tráfico de menor calidad proviene de VPN y tráfico de centros de datos, lo que estas reglas han ayudado:

Haré una publicación adecuada con el contenido completo de las reglas, las he estado ejecutando durante unos 6 meses y validando su éxito utilizando la herramienta Log Explorer e inspeccionando 10k eventos a la vez.

2 Me gusta

Estoy intentando comprender la integración de Cloudflare usando la versión gratuita antes de usarla en un nuevo sitio de Discourse. ¿Alguien puede explicar estos puntos con detalles/ejemplos? Asuma que el sitio de Discourse es: ‘discourse.abc123.com

(1) ¿Cloudflare parece eliminar las cabeceras de seguridad de nginx de origen que tengo actualmente?

(2) No entiendo estos comentarios: “Si decide habilitar la CDN de CloudFlare (nube naranja) necesita dar un paso adicional y establecer una regla de página para la dirección de su instancia de Discourse. La regla necesita ‘Deshabilitar Rendimiento’ (no veo esa opción) lo que desactivará las características de CloudFlare que están bien documentadas por interferir con Discourse.” Y cree las siguientes reglas de página en dash.cloudflare.com/?to=/:account/:zone/rules:

  • Establezca el Nivel de Caché en “Bypass” (Omitir) para community.example.com/session/*

  • Configure los Ajustes de Reglas para normalizar las URLs entrantes

Además, ¿hay alguna otra dificultad que deba manejar?

Gracias de antemano.

He estado usando Cloudflare en modo proxy delante de mi foro de Discourse desde el verano de 2025 sin problemas; simplemente no hay muchas cosas específicas de Discourse que debas hacer hoy en día para que funcione correctamente.

Uno de los elementos más críticos es asegurarse de incluir la plantilla de Cloudflare en su archivo app.yml. Sin esto, solo verá las direcciones IP del servidor de Cloudflare en su panel de control de Discourse, en lugar de las direcciones IP reales de los visitantes.

La regla “Omitir caché para /session/\*” parece seguir siendo necesaria (hágalo como una regla de caché en la nueva interfaz), y la regla “Omitir WAF en la creación/edición de publicaciones” es definitivamente todavía necesaria (la tengo como una regla administrada).

Como estoy utilizando Discourse principalmente como sistema de comentarios para un sitio de Wordpress, he configurado Wordpress para que añada un TTL de 60 segundos a las respuestas AJAX de /wp-json/wp-discourse/v1/discourse-comments?post_id=xxxx que el servidor web emite cuando los visitantes solicitan el hilo de comentarios de una publicación específica de WP; esto ayuda a gestionar los patrones de visitantes con picos. He añadido una regla de caché de CF que respeta el TTL en las URI que incluyen /wp-json/wp-discourse/. (No puedo establecer un TTL lo suficientemente corto en esas URL a través de Cloudflare sin una cuenta Enterprise, así que configuro el TTL en la capa de la aplicación a través de un mu-plugin y luego le indico a CF que respete ese TTL a través de una regla de caché de CF).

Aparte de eso, y la configuración básica mencionada en la publicación inicial del hilo, no hay mucho más que hacer: Cloudflare funciona bastante bien con Discourse.

5 Me gusta

Hola, acabo de configurar esto y terminé en 20 minutos.

También utilizo el plan gratuito de Cloudflare, y algunas de las configuraciones cambiaron, si usa la barra de búsqueda en el panel de Cloudflare, aparecerá la nueva ubicación para ello, yo también tuve algunos problemas para encontrar algunas configuraciones.

Requiere una reconstrucción

2 Me gusta

Solo activé el servicio “Xiao Huang Yun” (nube amarilla pequeña) y no hice nada más ~ Cuando tenga tiempo, también lo configuraré para ver qué efecto tiene.

Terminé la publicación sobre Discourse + Cloudflare WAF que mencioné antes:

Cubre toda la pila de reglas personalizadas que utilizo en mi foro de Discourse: reglas de omisión para activos estáticos y /message-bus, reglas de bloqueo para escáneres, desafíos de ASN y geográficos, limitación de velocidad ajustada para Discourse y excepciones de reglas administradas.

También encontré algo que necesita clarificación en la expresión de creación/edición de publicaciones en la guía oficial: el operador regex matches requiere el plan Business. Por lo tanto, en el artículo he utilizado una alternativa starts_with que funciona en los planes Pro.

Probado en un foro en vivo con tráfico real. Espero sugerencias, mejoras o si alguien encuentra problemas con la configuración.

3 Me gusta

Me gustaría saber. ¿Cuál es la diferencia entre esta forma de configuración y solo activar la “nube amarilla pequeña” manteniendo el resto de la configuración predeterminada? Gracias.

1 me gusta

Buena pregunta. Con solo las configuraciones predeterminadas de la nube naranja, obtienes DNS, CDN, protección DDoS y el conjunto de reglas administradas gratuito. Esa es una base sólida y Discourse funcionará bien solo con eso.

La razón por la que muchos van más allá es a menudo el SPAM, pero también el ancho de banda/recursos del servidor desperdiciados y el rendimiento general de la velocidad de carga de la página.

En cuanto al SPAM, recibíamos entre 5 y 10 publicaciones de spam a la semana, y a veces era tan implacable que buscaba activamente soluciones aquí en estos foros.

Desde que implementamos estas reglas personalizadas, eso se ha reducido a quizás 2 o 3 al mes. El principal problema restante es uno o dos trolls y alborotadores que siguen creando cuentas nuevas cuando son detectados. ¡Pero ese es otro tema! La combinación de desafiar el tráfico de centros de datos y VPN, desafiar Tor y los países problemáticos marcó una gran diferencia.

Más allá del spam, está el lado de los recursos de alojamiento. Saber exactamente para qué se utilizan sus recursos de alojamiento ayuda mucho. También es bueno para Internet en general no alimentar el tráfico automatizado/bots.

Comience con un alojamiento sólido y rápido en una buena red, eso es lo más importante. Luego, Cloudflare por encima asegura que los usuarios que están lejos de su servidor aún tengan una experiencia rápida. La capa de caché ayuda incluso con las configuraciones predeterminadas, pero ir más allá de las predeterminadas continúa mejorando tanto el rendimiento como la seguridad.

Por defecto, Cloudflare viene con configuraciones que son extremadamente seguras de habilitar sin efectos secundarios. Pero hay muchas configuraciones adicionales que también son seguras de habilitar y simplemente no están activadas de fábrica. Y las reglas personalizadas tienen que ser personalizadas porque Cloudflare no ofrece ningún tipo de asistente donde seleccionas “Estoy ejecutando Discourse” o “Estoy ejecutando WordPress” y te crea reglas. Sería una gran característica, y planeo sugerirla en mi próxima llamada con ellos.

Así que depende de lo que quieras. Si las configuraciones predeterminadas funcionan y el spam no es un problema, es posible que no necesites nada de esto.

Pero en mi opinión, si quieres más control sobre lo que llega a tu foro y quieres exprimir cada pizca de rendimiento de tu configuración, desde la capa de alojamiento hasta el borde, las reglas personalizadas valen el esfuerzo.

2 Me gusta

Creo que seguí las recomendaciones (estoy usando Cloudflare gratuito) y hasta ahora he detectado 2 problemas:

(1) La pantalla principal de inicio de sesión aparece en blanco en cada primer acceso; si hago clic en la URL y presiono Enter nuevamente, aparece.

(2) Los PDF incrustados se rompen, por lo que no son visibles, aunque aún se pueden descargar. Intenté omitir las extensiones de archivo PDF en una regla de caché, pero sin éxito.

Pausar Cloudflare no ayuda. Ninguno de estos es un problema si no uso Cloudflare, excepto para DNS (gris).

¿Alguna idea sobre qué debo hacer para depurar o solucionar mejor estos dos problemas?

Gracias de antemano.