принудительное использование https на asp.net веб-приложение core 3.1, работающее как служба на сервере Windows server 2008 rs

#c# #https #windows-services #asp.net-core-3.1 #azure-authentication

Вопрос:

У меня есть asp.net веб-приложение core 3.1, использующее проверку подлинности Windows azure. Когда я запускаю его на VS или как службу на своем локальном компьютере (Windows 10), он работает нормально и использует https для всех запросов. Я скопировал exe-файл и DLL-файлы на удаленный сервер (Windows server 2008 rs) и создал службу Windows на компьютере. Когда браузер подключается к службе, аутентификация выполняется по протоколу https, но когда он возвращается на домашнюю страницу приложения, он использует http. Есть идеи, почему/что я могу сделать, чтобы заставить любые и все запросы, которые выполняются по протоколу https на любой ОС/платформе?

Ответ №1:

Вероятно, это связано с тем, что в вашей локальной среде установлен сертификат разработки, который в конфигурации приложения по умолчанию используется для локального HTTPS. Аутентификация выполняется по протоколу HTTPS, когда пользователь направляется в Azure для проверки подлинности.

В рабочей среде HTTPS должен быть явно настроен. Как минимум, должен быть предоставлен сертификат по умолчанию.

Чтобы обеспечить соблюдение HTTPS в рабочей среде, вам необходимо настроить сертификат. В следующей статье объясняются различные способы настройки сертификата: Настройка конечных точек для ASP.NET Основной веб-сервер Kestrel.