Я пытаюсь разрешить CORS в node.js, но проблема в том, что я не могу установить *
в Access-Control-Allow-Origin
, если установлен Access-Control-Allow-Credentials
.
Кроме того, спецификация говорит, что я не могу выполнить выделение массива или запятой для Access-Control-Allow-Origin
, и предлагаемый метод должен был бы сделать что-то похожее на это Access-Control-Allow- Происхождение нескольких доменов происхождения?
Но я не могу этого сделать в node.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 );
Проблема заключается в том, что она переопределяется последним значением в массиве, поэтому заголовок будет установлен на res.setHeader( "Access-Control-Allow-Origin", "http://mydomain.com:5001" );
Ошибка в клиентском браузере:
XMLHttpRequest не может загрузить http://mydomain.com:9090/api/sync. Заголовок "Access-Control-Allow-Origin" имеет значение 'http://mydomain.com:5001', который не равен предоставленному происхождению. Origin 'http://mydomain.com:9001', следовательно, не допускается.