#angular #api #iis #cors #localhost
#angular #API #iis #cors #localhost
Вопрос:
Я перепробовал все возможные способы, найденные в we, чтобы решить проблему CORS в angular во время выполнения кода VS с использованием ng serve
- Внедрил prox.conf.json, а затем запустил
ng serve —конфигурация прокси-сервера proxy.conf.json
{
"/`OSTNextService`": {
"target": "https://localhost/OSTNextService",
"secure": true,
"pathRewrite": {
"^/OSTNextService": ""
},
"`changeOrigin": true`
}
}
- установите для заголовка IIS значение specif domain. в моем случае https://localhost:4200
- настройка файла service global.asax
У меня ничего не работает, и я получаю ошибку типа
Доступ к XMLHttpRequest по адресу ‘https://localhost/OSTNextService/OSTPortalService.svc/GetUserName » из источника «https://localhost:4200 ‘ был заблокирован политикой CORS: значение заголовка ‘Access-Control-Allow-Origin’ в ответе не должно быть шаблоном ‘*’, если режим учетных данных запроса «включить». Режим учетных данных запросов, инициируемых XMLHttpRequest, контролируется атрибутом withCredentials .
когда я разместил приложение в IIS и сопоставил с ним папку dist, все работало нормально. но каждый раз, когда я менял файл .ts, который мне нужен для сборки приложения, это почти двойная трата времени. пожалуйста, помогите, посоветовав, чего мне здесь не хватает.
Комментарии:
1. работает ли ваш локальный хост по защищенному протоколу?
Ответ №1:
используйте «/OSTNextService» вместо «/ OSTNextService
» в файле прокси. А если вы используете просто "target": "https://localhost/"
, вам это не нужно rewrite
,
также используйте в своем приложении не полный URL-адрес, а относительный /OSTNextService/OSTPortalService.svc/GetUserName
, тогда он попадет на ваш прокси-сервер и перенаправится на localhost:80/ …
Я не думаю, что есть какая-либо необходимость возиться с заголовками IIS.