Este es nuestro escenario:
Nuestro discurso se ejecuta en una instancia EC2 separada de nuestro servidor principal. La instancia de discurso crea su propio certificado de servidor utilizando Let’s Encrypt con el mecanismo incorporado.
El servidor principal utiliza la API del servidor de discurso utilizando su DN público.
El foro es un subdominio del sitio, es decir, “forum.[mydomain].com”.
Eso funciona perfectamente.
Ahora hemos puesto todo el sitio detrás de Cloudflare.
El foro en sí funciona perfectamente cuando se accede a través de un navegador.
Sin embargo, si el sitio principal intenta acceder a la instancia de Discourse mediante una llamada API, ahora recibe un error 403.
Ya he probado todos los pasos enumerados aquí: Usar Discourse con Cloudflare: Mejores Prácticas - Documentación / Autoalojamiento - Discourse Meta , incluido desactivar la verificación de integridad del navegador para forum.[mydomain].com/u/by-external/*, pero sin éxito.
La configuración SSL en Cloudflare está configurada como “Full”. No se utiliza “Full (Strict)”, también funcionaría, pero causa problemas con las páginas de error de respaldo si el sitio está caído, por lo que preferiría seguir usando “Full”.
No tengo idea de por qué la llamada API fallaría con 403 y no tengo idea de cómo resolver ese problema. Por ahora, he desactivado el proxy para forum.[mydomain].com como solución alternativa, lo que resuelve el problema, pero, por supuesto, significa que Discourse no está en caché ni protegido por Cloudflare.
¿Alguna idea de lo que podría estar mal?