Суть задачи:
есть группа сайтов: которые подключаются к серверу на nodejs и слушают.
Как только на сервере срабатывает событие идет широковещательная рассылка.
В чем проблема:
EventSource cannot load
https://[url-server]:8081/event. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin '
https://[url-client]' is therefore not allowed access.
Так работает но только для 1 домена:
'GET /event': function (request, response) {
response.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
'Access-Control-Allow-Origin': '
https://[uri-client]',
'Access-Control-Allow-Credentials': 'true',
'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE',
"Access-Control-Allow-Headers": "Origin,X-Requested-With, Content-Type, Accept"
});
request.socket.setTimeout(3000 * 60 * 60);
request.on('close', function () {
Clients.remove(response);
});
Clients.add(response);
},
Поискав в интернете, нашел решение: надо указать
'Access-Control-Allow-Origin': '*',
Но это не привело к успеху...
'GET /event': function (request, response) {
response.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
'Access-Control-Allow-Origin': '*',
});
request.socket.setTimeout(3000 * 60 * 60);
request.on('close', function () {
Clients.remove(response);
});
Clients.add(response);
},
Пробовал добавлять
'Access-Control-Allow-Credentials': 'false',
и
'Access-Control-Allow-Credentials': null,
Все-равно безрезультатно - выскакивает та самая ошибка.
Я думаю может тому виной ssl соеденение?
Или каких-то хеадеров не хватает?