Моя локальная среда сборки имеет сертификат, выданный локальному хосту. У меня также был выдан еще один localhost для запуска MVC в браузере (IIS express).

Эти сертификаты мешали друг другу, поэтому мой коллега удалил экспресс-сертификат IIS. Теперь моя локальная среда сборки работает, но я не могу запустить свой веб-сайт ASP.NET из Visual Studio (говорит, что есть проблема IIS).

Я не уверен, почему не может быть несколько сертификатов, назначенных одному и тому же объекту, или как обойти это.

Какие-нибудь советы?

1 ответ1

1

Традиционно вы можете использовать только 1 сертификат на IP. Причиной этого было то, что HostHeaders были зашифрованы, и поэтому маршрутизация на основе имен могла быть выполнена на сервере до того, как была выполнена расшифровка. Но какой сертификат / ключ использовать без знания HostHeaders?

В настоящее время существует три обходных пути:

а) использовать многодоменный (или UCC) сертификат. Это один сертификат со многими именами, прикрепленными к нему. Сервер должен управлять только 1 сертификатом, но он будет действителен для любого из этих имен. Они дорогие, чтобы получить по-настоящему, но вы можете сделать самоподписанные UCC.

b) если вы используете достаточно современное программное обеспечение, вы можете использовать SNI, который является обновлением протокола TLS, который позволяет распознавать HostHeaders (или эффективно) перед описанием, чтобы запрос мог быть перенаправлен на соответствующий сертификат. / ключ. только новейшая версия, если IIS Express поддерживает это, но она может быть полезна для вас: http://www.iis.net/learn/extensions/introduction-to-iis-express/iis-80-express-readme

в) использовать другой IP для другого сертификата. Дайте вашей машине еще один IP и запустите этот dev-сервер на новом IP. Это на самом деле может быть самым простым, но я думал об этом последним, так что это C.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .