У меня есть пара приложений.Одним из них является клиентское приложение angular-cli.Другое приложение AspNetCore WebApi, которое передает данные моему угловому клиенту.Я настроил оба подпункта (т. Е. Размещен в подпапках IIS с использованием функции добавления приложения на существующем веб-сайте.
Конфигурация для углового приложения заключалась в создании пары флагов, которые позволили быприложение для работы из подпапки.
ng build --deploy-url=/mock-v1/ --base-href=/mock-v1/
После сборки с этими флагами приложение отлично работает в подпрограмме клиента.
http://app/mock-v1/
Далее я собираю свой AspNetCoreПриложение с файлом запуска, настроенным как со следующими изменениями.
// ConfigureServices
services.AddCors(c => c.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()));
// Configure
app.UseStaticFiles("/data");
app.UsePathBase("/data");
После создания и развертывания этого в IIS я могу успешно посетить мою тестовую страницу следующим образом с примером вывода, показывающим «[" value1 "," value2"]":
http://app/data/api/values
Далее я настраиваю самодостаточный ssl-сертификат для своих локальных доменов, как указано в файле hosts:
PS C:\> New-SelfSignedCertificate -DnsName app, data -CertStoreLocation
"cert:\LocalMachine\My"
Локально, вот результаты:
http://app/mock-v1/ // works
http://app/data/api/values // works
https://app/mock-v1/ // doesn't work
https://app/data/api/values // doesn't work
На сервере, где я успешно установил SSL для корневого домена:
http://[domain].com/mock-v1/ // works
http://[domain].com/data/api/values // doesn't work
https://[domain].com/mock-v1/ // works
https://[domain].com/data/api/values // doesn't work
На самом деле, я не знаю, является ли версия данных / api / val не-sslОн работает, потому что он продолжает перенаправлять на https, и на странице ничего не отображается.
Если я устанавливаю приложение в качестве корневого веб-сайта для следующего файла хостов, все веб-сайты работают.
app 127.0.0.1
data 127.0.0.1
http://app/ // works
http://data/api/values // works
https://app/ // works
https://data/api/values // works
МойКонечная цель - заставить HTTPS работать над моими приложениями.Меня не интересует наличие нескольких корневых доменов для моего развертывания.