Я собираюсь через два домена с помощью Chrome браузер:'Access-Control-Allow-Origin' заголовок содержит несколько значений - Nginx + sails.js
- клиента: http://vb.localhost:909 (angular.js)
- бэкенд: http://db.localhost:909/matches (sails.js, приложение узла на порте 1337)
все обслуживается nginx.
Я получаю следующее сообщение об ошибке:
XMLHttpRequest не может загрузить http://db.localhost:909/matches. Заголовок 'Access-Control-Allow-Origin' содержит несколько значений ', *', но разрешено только одно. Происхождение 'http://vb.localhost:909' поэтому не разрешено.
Вот nginx.conf для обоих серверных блоков:
server {
listen 909;
server_name vb.localhost;
location/{
root "\apps\vb-site\UI\dev";
index index.html;
}
}
server {
listen 909;
server_name db.localhost;
add_header Access-Control-Allow-Origin *;
location/{
proxy_pass http://127.0.0.1:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
В приложении sails.js, в конфигурационном файле/cors.js, я позволил всем получить доступ к доменам CORS :
origin: '*',
это выглядит как пустой домен добавляется перед групповым символом «*» добавляется в db.localhost сервера блока Nginx, так как ошибка в Chrome является: «*» < - обратите внимание на пустой символ, затем на commma, затем * (подстановочный знак)
Где я ошибаюсь в конфигурации?
Выстрел это темный, но должен как Nginx и паруса устанавливают тот же заголовок. Я только установил паруса. Вы пробовали не устанавливать его в nginx? – Meeker