Ich versuche, CORS in node.js zulassen, aber das Problem ist, dass ich *
Access-Control-Allow-Origin
nicht festlegen kann, wenn Access-Control-Allow-Credentials
festgelegt ist.Aktivieren Sie Access-Control-Allow-Origin für mehrere Domänen in Nodejs
Auch die Spezifikation, sagte ich kann für Access-Control-Allow-Origin
und die vorgeschlagene Methode wäre, etwas zu tun, ähnlich wie diese Access-Control-Allow-Origin Multiple Origin Domains?
ein Array oder ein Komma getrennt Wert nicht tun, aber ich kann nicht auf diese Weise in Knoten zu tun scheinen Js
["http://mydomain.com:9001", "http://mydomain.com:5001"].map(function(domain) {
res.setHeader("Access-Control-Allow-Origin", domain);
});
res.header("Access-Control-Allow-Credentials", true);
das Problem hier ist, dass es bein Überschreibung durch den letzten Wert im Array, so wird der Header res.setHeader("Access-Control-Allow-Origin", "http://mydomain.com:5001");
Fehler aus dem Client-Browser eingestellt werden:
XMLHttpRequest kann http://mydomain.com:9090/api/sync nicht geladen werden. Der 'Access-Control-Allow-Origin'-Header hat einen Wert ' http://mydomain.com:5001 ', der nicht dem angegebenen Ursprung entspricht. Ursprung 'http://mydomain.com:9001' ist daher nicht erlaubt.
Schön! Das ist genau das, was ich brauchte! – Scotty
Gibt es einen Unterschied zwischen res.header und res.setHeader? –
Abfrage: Was ist der Grund, warum Sie 'return' vor dem 'next()' schreiben, wird nicht als nächstes automatisch aufgerufen und Anfrage an die nächste Middleware senden? –