Критическое Изменение: Удаление Привязки HTTPS по Умолчанию в Kestrel
Привязка адреса и порта HTTPS по умолчанию удалена в Kestrel в превью версии 6 .NET 7.
Предыдущее поведение
Раньше, если значения для адреса и порта не указывались явно, но был доступен локальный сертификат для разработки, Kestrel по умолчанию привязывался как к http://localhost:5000, так и к https://localhost:5001.
Теперь пользователи должны вручную привязываться к HTTPS и явно указывать адрес и порт одним из следующих вариантов:
- в файле
launchSettings.json,- в переменной среды
ASPNETCORE_URLS,- в аргументе командной строки
--urls,- в конфигурации хоста по ключу
urls,- с помощью метода расширения
UseUrls.Привязка HTTP не изменилась.
Описание критического изменения
- Бинарная несовместимость: существующие двоичные файлы могут столкнуться с критическими изменениями в поведении, такими как сбой при загрузке/выполнении или другое поведение во время выполнения.
- Исходный код несовместим: исходный код может столкнуться с критическим изменением поведения при нацеливании на новую среду выполнения/компонент/SDK, например ошибки компиляции или другое поведение во время выполнения.
- Изменение поведения: Существующий код и двоичные файлы могут вести себя по-разному во время выполнения.
Причина изменения
Текущее поведение привязки по умолчанию происходит независимо от настроенной среды и может привести к проблемам на компьютерах разработчиков, когда сертификат ещё не является доверенным (поскольку он самоподписанный). Клиенты часто получают негативный опыт при обращении к конечной точке HTTPS с ненадёжным сертификатом, например, тихий сбой, либо экран с ошибокой о ненадёжном соединении и т. д.
Рекомендованное действие
Если вы не использовали привязку https://localhost:5001 по умолчанию, никаких изменений не требуется. Однако, если вы использовали эту привязку, ознакомьтесь с этим руководством где описано, как вы можете обновить свой сервер, чтобы включить HTTPS.
Источник: https://github.com/aspnet/Announcements/issues/486