Mudamos nuestro servidor de un proveedor de VPS a otro y también actualicé la instancia a través de launcher rebuild a la última versión, de 3.5.0.beta3 a 3.5.0.beta4.
La instancia siempre funcionó bien detrás de Cloudflare, pero ahora intentar acceder a ella lleva a una animación de carga infinita de 5 puntos.
Tengo una entrada en el archivo hosts en mi sistema local para omitir Cloudflare, ya que mi ISP (Deutsche Telekom AG) tiene políticas de peering deficientes, por lo que el acceso a través de Cloudflare es muy bajo a veces. Así que al principio no reconocí el problema, ya que el acceso sin Cloudflare funciona bien. Así que actualicé la instancia y, por lo tanto, ahora no estoy seguro de si el VPS cambiado o la actualización de Discourse fue el cambio relevante. Me aseguré a través de VPN y red móvil de que el problema es realmente Cloudflare en sí mismo ahora, no el mal peering de mi ISP, y otros usuarios también enfrentan el mismo problema. El VPS antiguo y el nuevo tienen IPv6 disponible, y todo el sistema es exactamente el mismo, transferido como un archivo de imagen raw.
No hay ningún mensaje de error, ni en el navegador (consola), ni por el proxy del sistema host, ni por Nginx dentro del contenedor, ni por Rails ni en ningún otro lugar. Los documentos HTML y varios scripts se cargan bien, y al compararlos con los que se sirven al omitir Cloudflare, se ve que todo (lo que comprobé) es idéntico. Los encabezados de respuesta también se ven en su mayoría iguales, aparte de algunos específicos de Cloudflare, por supuesto. Lo último que veo cargándose es el mini profiler:
Por supuesto, borrar la caché del navegador, usar ventanas privadas, etc., no cambiaron nada. Tampoco ayuda borrar/desactivar la caché de Cloudflare, por lo que la caché no es el problema. Desactivé temporalmente la caché de CF por completo para todo el foro.
Cabe destacar que el foro se ejecuta en una subruta detrás de un proxy Apache en el host, siguiendo estas instrucciones: Serve Discourse from a subfolder (path prefix) instead of a subdomain
Anteriormente, creamos solo un enlace simbólico ln -s . forum en lugar de los enlaces simbólicos de uploads/backups y duplicamos las reescrituras de las instrucciones, lo que funcionó bien durante años (y también ahora sin Cloudflare), pero como parte de mis esfuerzos de depuración, cambié a esas instrucciones para asegurar que el proxy interno aplique todas las reglas según lo previsto. El encabezado de confianza es CF-Connecting-IP, aunque también habilité cloudflare.template.yml, incluso si duplica un poco las cosas. Y también intenté cambiar de un lado a otro varias partes de estas plantillas y las instrucciones anteriores, también en un intento de verificar si los encabezados IP del proxy marcan alguna diferencia, ya que la falta de CF-Connecting-IP es una cosa al omitir Cloudflare.
En este punto, estoy completamente sin ideas, no tengo ni una sola pista de dónde podría venir el problema, ni un solo registro/salida relacionado en ninguna parte. A través de Cloudflare, Discourse simplemente se queda colgado en la animación de carga sin más rastro.
Espero que alguien tenga una idea de cómo depurar esto, o si hubo algún cambio entre 3.5.0.beta3 y 3.5.0.beta4 que pudiera estar relacionado. ¿Supongo que una reversión es problemática?
Esta es la instancia: https://dietpi.com/forum/
EDIT: He deshabilitado Cloudflare por ahora. Pero hay un CNAME que todavía se pasa a través de Cloudflare, por lo que estos dos se pueden comparar: https://www.dietpi.com/forum/


