Почему при использовании IIS необходим SSL сертификат, а на IIS Express нет?

206
30 января 2020, 17:50

Есть ASP .Net Core API №1(для проксирования внешних запросов на внутренние сервисы) и ASP .Net Core API №2(внутренний сервис, не доступен внешнему миру).

№1 запускаю на IIS Express(https://localhost:44334) через VS и №2 запускаю на Kestrel(https://localhost:5001) через VS. После делаю запрос с браузера(или Fiddler) на №1, который в контроллере должен создать запрос на №2 с помощью HttpClient, все работает.

№1 запускаю на обычном IIS(https://localhost:44334) и №2 запускаю на Kestrel(https://localhost:5001) через VS. После делаю запрос с браузера(или Fiddler) на №1, который в контроллере должен создать запрос на №2 с помощью HttpClient, №1 отдает 500.

Если закомментировать строку где выполняется запрос, действие не вернет 500, поэтому делаю вывод о том что проблема именно в запросах. После меняю endpoint запроса с https://localhost:5001/api/values на google.com и все работает.

Добавляю для всех сред app.UseDeveloperExceptionPage(); и узнаю AuthenticationException: The remote certificate is invalid according to the validation procedure.

Смотрю в IIS, там в выпадающем списке "SSL-сертификат" стоит некий IIS Express Development Certificate(не уверен откуда он появился на моей машине, но похоже я его выбрал при создании привязки, надеясь что он будет работать).

Спустя некоторое время поменял у сервиса №2 https://localhost:5001 на http://localhost:5001 и все заработало.

Почему при использовании IIS Express все работало, а на IIS сломалось?

READ ALSO
Считывается только часть ячеек excel interop, остальные null

Считывается только часть ячеек excel interop, остальные null

При попытке считать все ячейки документа Excel с помощью библиотеки Interop, часть ячеек считывается корректно, часть(большая) не считывается вовсе,...

205
Почему C# так генерирует исключения?

Почему C# так генерирует исключения?

Я буду именовать блоки когда по номеру, который они выводятКак я понимаю, в блоке '2', мы явно не указываем тип исключения, то есть результат...

178
Как правильно использовать entity framework?

Как правильно использовать entity framework?

Как правильно использовать entity framework? Нужно создавать DbContext для каждого вызова, или создать один раз и использовать всё время жизни приложения?

220
Вычисление возраста [закрыт]

Вычисление возраста [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском»

205