¿Cómo configuro el encabezado Access-Control-Allow-Origin para poder usar fuentes web de mi subdominio en mi dominio principal?
Notas:
Encontrará ejemplos de este y otros encabezados para la mayoría de los servidores HTTP en los proyectos de configuraciones de servidor HTML5BP https://github.com/h5bp/server-configs

Respuestas:
Nginx debe compilarse con http://wiki.nginx.org/NginxHttpHeadersModule (predeterminado en Ubuntu y algunas otras distribuciones de Linux). Entonces puedes hacer esto
fuente
Una respuesta más actualizada:
fuente: https://michielkalkman.com/snippets/nginx-cors-open-configuration.html
También es posible que desee agregar
Access-Control-Expose-Headers(en el mismo formato que Access-Control-Allow-Headers) para exponer sus encabezados personalizados y / o no simples a las solicitudes de ajax.- http://www.html5rocks.com/en/tutorials/cors/
Configuraciones para otros servidores web http://enable-cors.org/server.html
fuente
ifen nginx, incluso el manual oficial lo desalienta .alwaysopción a todosadd_headerpara que también se agreguen encabezados para las respuestas que no sean 200. Desde nginx 1.7.5Aquí está el artículo que escribí que evita la duplicación de GET | POST. Debería ponerte en marcha con CORS en Nginx.
el control de acceso nginx permite el origen
Aquí está el fragmento de muestra de la publicación:
fuente
204 No contentya que parece más apropiado.En primer lugar, déjame decirte que la respuesta de @hellvinz está funcionando para mí:
Sin embargo, he decidido responder a esta pregunta con una respuesta separada, ya que solo logré hacer que esta solución funcionara después de dedicar unas diez horas más a buscar una solución.
Parece que Nginx no define ningún tipo de fuente MIME (correcta) de forma predeterminada. Siguiendo este tuorial descubrí que podía agregar lo siguiente:
A mi
etc/nginx/mime.typesarchivo Como se indicó, la solución anterior funcionó.fuente
La directiva add_header tradicional de Nginx no funciona con respuestas 4xx. Como todavía queremos agregarles encabezados personalizados, necesitamos instalar el módulo ngx_headers_more para poder usar la directiva more_set_headers, que también funciona con respuestas 4xx.
Luego use more_set_headers en el archivo nginx.conf, he pegado mi muestra a continuación
fuente
En algunos casos, debe usar
add_headerdirectivasalwayspara cubrir todos los códigos de respuesta HTTP.De la documentación :
fuente
En mi caso, usando Rails 5, la única solución de trabajo ha sido agregar la
rack-corsgema. Al igual que:en / Gemfile
en config / initializers / cors.rb
fuente: https://til.hashrocket.com/posts/4d7f12b213-rails-5-api-and-cors
fuente