У меня есть приложение Angular 5, в котором я использую простой запрос GET
public getData(url: any): Observable<any> {
return this.HttpClient.get(url).
.map((res) => res)
}
, когда я отправляю запрос на сервер с протоколом http - все работает нормально (и на вкладке сети моего браузера Chromium я вижу только одинAccess-Control-Allow-Origin: http://127.0.0.1:4200), но если я отправляю запрос по протоколу https на тот же сервер - у меня появляется ошибка:
The 'Access-Control-Allow-Origin' header contains multiple values
'http://127.0.0.1:4200, *', but only one is allowed.
Если открыть вкладку сети - там мы видим действительно дваAccess-Control-Allow-Origin:
Access-Control-Allow-Origin: http://127.0.0.1
Access-Control-Allow-Origin: *
Как оставить только один источник и почему это происходит при использовании https? Теперь я не могу изменить CORS на бэкэнде: (
С серверасторона - GeoServer на nginx.
Моя конфигурация nginx CORS:
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';