Bueno, sí, nginx combina los encabezados con nombres idénticos ... pero lo hace de acuerdo con la especificación HTTP. Ver sección 4.2 .
El encabezado:
Access-Control-Allow-Origin: http://dev.anuary.com, https://dev.anuary.com
Es, de acuerdo con la especificación HTTP / 1.1, funcionalmente equivalente a:
Access-Control-Allow-Origin: http://dev.anuary.com
Access-Control-Allow-Origin: https://dev.anuary.com
Si tiene un sistema o aplicación que es capaz de leer un formato y no el otro, entonces ese es el problema. nginx lo está haciendo bien.
EDITAR :
La documentación de Mozilla establece que solo puede haber un Access-Control-Allow-Origin
encabezado.
El formato de la misma ( ver aquí ) debe ser una lista de orígenes delimitados por espacios:
add_header Access-Control-Allow-Origin "http://dev.anuary.com https://dev.anuary.com";
Pero realmente, se supone que debes hacer eco del Origin
encabezado proporcionado por el cliente en lugar de generar uno de la nada. Esto es probablemente más apropiado:
if ($http_origin ~* "^https?://dev\.anuary\.com$" ) {
add_header Access-Control-Allow-Origin $http_origin;
}
http://example.com
Yhttp://localhost:3000
)?Consulte esta publicación para configurar su nginx CORS con dominios dinámicos: https://qa.lsproc.com/post/access-control-allow-origin-multiple-origin-domains
fuente
Estaba enfrentando el mismo problema que varios subdominios en mi red tratando de acceder a los recursos y
nginx
no estaba configurado correctamente. Así es como lo arreglé.Espero que esto ayude.
fuente