Есть 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 сломалось?
Продвижение своими сайтами как стратегия роста и независимости