Situación:
Estoy desarrollando un plugin y usando nginx como proxy inverso hacia rails:3000. Todo funciona genial, pero tengo problemas para acceder a la API debido a los temidos errores de CORS, que todos conocemos y “adoramos”.
El acceso a XMLHttpRequest en 'blah blah blah' desde el origen 'foo bar bing' ha sido bloqueado por la política CORS: no se incluye el encabezado 'Access-Control-Allow-Origin' en el recurso solicitado.
Hasta ahora, he intentado agregar encabezados en nginx, pero por alguna razón, estos no aparecen en los encabezados al depurar en Chrome.
También intenté usar nginx para modificar los proxy_headers desde Rails hacia nginx, pero sin éxito.
Además, probé usar un plugin de extensión de Chrome para insertar los encabezados, pero tampoco parecen funcionar, aunque una prueba de CORS del navegador usando un sitio de pruebas de CORS indica que todo está permitido.
Luego, intenté agregar el gem rack-cors, pero no pude hacer que config.middleware funcionara debido a errores de freeze.
Esto está frenando el desarrollo y parece que he dado contra un muro ![]()
¿Existe alguna forma de agregar estos encabezados directamente en Discourse en un archivo de configuración (o mejor aún, en el plugin) que envíe varios encabezados HTTP que queremos probar y enviar en el entorno de desarrollo?
¿O es posible hacer que el gem rack-cors funcione? Si es así, ¿dónde en el plugin debería agregar el código?
Referencia: RubyDoc.info: File: README – Documentation for rack-cors (0.4.0) – RubyDoc.info
Como mencioné, las (muchas) cosas que he intentado hasta ahora y las descritas arriba en rubydocs todas resultan en “no ocurre aquí”, lo de siempre.
Incluso intenté olvidar CORS por el momento y simplemente agregar un solo encabezado de caché HTTP, pero eso también fue un callejón sin salida de mi parte.
Imagino que todos se ríen de estos problemas relacionados con CORS; yo también. Pero si pudieran compartir conmigo cómo agregar mis propios encabezados de prueba (CORS o no) mientras estoy en el entorno de pruebas de desarrollo, se lo agradecería mucho.
Gracias.
