Malo archivo JS de política CSP

Hola,

Instalé una instancia de Discourse ayer, y hoy muestra una página oscura. En la consola veo:

Se ha rechazado la carga del script 'https://ajax.cloudflare.com/cdn-cgi/scripts/95c75768/cloudflare-static/rocket-loader.min.js' porque viola la siguiente directiva de Política de Seguridad de Contenidos: "script-src 'unsafe-eval' 'report-sample' [url]/logs/ [url]/sidekiq/ [url]/mini-profiler-resources/ [url]/assets/ [url]/brotli_asset/ [url]/extra-locales/ [url]/highlight-js/ [url]/javascripts/ [url]/plugins/ [url]/theme-javascripts/ [url]/svg-sprite/". Tenga en cuenta que 'script-src-elem' no se estableció explícitamente, por lo que se usa 'script-src' como alternativa.
Se recibió un código de respuesta HTTP incorrecto (404) al obtener el script.

¿Cómo puedo solucionarlo?

Desactiva Cloudflare para tu sitio en el panel de control de Cloudflare. La función Rocket Loader es absolutamente incompatible con Discourse.

¿Podrías por favor explicar por qué esto es “absolutamente” incompatible? Lo uso en otras aplicaciones de Rails que están altamente personalizadas y optimizadas con éxito (generalmente tras un poco de depuración). Me pregunto por qué Discourse no ha sido reestructurado para que funcione con toda la suite de servicios de CloudFlare, dado que se utiliza tanto.

Pregunta a CloudFlare por qué, es su código, no el nuestro.

Realmente no hay ningún beneficio o incentivo aquí.

Parece que estás operando bajo la suposición de que Cloudflare puede optimizar el código de Discourse mejor que los propios desarrolladores de CDCK. ¿En qué te basas para eso?

Cloudflare está bien como caché, pero todas las funciones de rendimiento deben estar deshabilitadas; de lo contrario, tu instalación no tendrá soporte.

Por algunas discusiones que he visto aquí, parece haber problemas con la aparición lo suficientemente rápida de la primera pintura significativa en varias pruebas que han devuelto tales resultados. Tenía la esperanza de que Rocket Loader podría reducirlo aún más mientras se trabaja en esta área para resolverlo.

No, eso lo empeorará. Discourse es una aplicación de JavaScript, por lo que la carga inicial tendrá un costo un poco mayor a medida que la aplicación se descarga en el entorno de ejecución de JavaScript del navegador.

Gracias por aclarar.

Técnicamente debería funcionar, pero si no lo hace, es porque Cloudflare escribió un código defectuoso. Si deseas seguir con esto, deberías escribirles un correo. No podemos controlar el código de Cloudflare porque… no somos Cloudflare.

Espero que quede claro.