Ja, nginx kombiniert die gleichnamigen Header. Dies geschieht jedoch gemäß der HTTP-Spezifikation. Siehe Abschnitt 4.2 .
Der Header:
Access-Control-Allow-Origin: http://dev.anuary.com, https://dev.anuary.com
Ist gemäß der HTTP / 1.1-Spezifikation funktional äquivalent zu:
Access-Control-Allow-Origin: http://dev.anuary.com
Access-Control-Allow-Origin: https://dev.anuary.com
Wenn Sie ein System oder eine Anwendung haben, die in der Lage ist, ein Format und nicht das andere zu lesen, dann ist dies das Problem. Nginx macht es richtig.
EDIT :
Die Mozilla-Dokumentation besagt, dass es nur einen Access-Control-Allow-Origin
Header geben kann.
Die Formatierung ( siehe hier ) sollte eine durch Leerzeichen getrennte Liste von Ursprüngen sein:
add_header Access-Control-Allow-Origin "http://dev.anuary.com https://dev.anuary.com";
Aber wirklich, ich ist angeblich werden die Echo - Origin
Header vom Kunden geliefert , anstatt eine der Erzeugung aus heiterem Himmel. Dies ist wahrscheinlich angemessener:
if ($http_origin ~* "^https?://dev\.anuary\.com$" ) {
add_header Access-Control-Allow-Origin $http_origin;
}
http://example.com
undhttp://localhost:3000
)?In diesem Beitrag erfahren Sie, wie Sie Ihr nginx CORS mit dynamischen Domänen konfigurieren: https://qa.lsproc.com/post/access-control-allow-origin-multiple-origin-domains
quelle
Ich hatte das gleiche Problem wie mehrere Unterdomänen in meinem Netzwerk, die versuchten, auf Ressourcen zuzugreifen, und
nginx
war nicht richtig eingerichtet. Hier ist, wie ich es behoben habe.Ich hoffe das hilft.
quelle