Я получаю следующее сообщение CORS только в Chrome, Mozilla работает нормально:
Доступ к XMLHttpRequest в 'http://localhost:8002/dataHub/negotiate' из источника' http://172.16.30.79:4200' заблокированПолитика CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: значение заголовка «Access-Control-Allow-Origin» в ответе не должно быть подстановочным знаком «*», если режим учетных данных запроса «включить».Режим учетных данных запросов, инициированных XMLHttpRequest, контролируется атрибутом withCredentials.
Сервер возвращает мне следующие заголовки:
Access-Control-Allow-Credentials: false
Access-Control-Allow-Headers: x-requested-with,Vary,Server,Access-Control-Allow-Origin,Access-Control-Allow-Credentials,Access-Control-Allow-Headers,Access-Control-Allow-Methods,Date
Access-Control-Allow-Methods: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Vary, Server, Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Allow-Headers, Access-Control-Allow-Methods, Date
Content-Type: application/json; charset=utf-8
Date: Mon, 23 Sep 2019 18:32:09 GMT
Server: Microsoft-IIS/10.0
Vary: Origin
X-Content-Type-Options: nosniff
Мое соединение с использованием SignalR:
this.connection = new signalR.HubConnectionBuilder()
.configureLogging(signalR.LogLevel.Debug)
.withUrl("http://localhost:8002/dataHub")
.build();
this.connection
.start({withCredentials: false})
.then(() => {
});
Как видите, сервер отправляет один заголовок:
Access-Control-Allow-Origin: *
В Mozilla я вижу Access-Control-Allow-Origin: http://172.16.30.79:4200
Почему Chrome заменяет Access-Control-Allow-Origin: http://172.16.30.79:4200
на Access-Control-Allow-Origin: *
Я не знаю.