IISExpress не удается найти страницу ssl под управлением localhost с Visual Studio 2013

когда я получаю доступ к сайту как http://localhost:26049 сайт работает нормально. Если я попытаюсь получить доступ к сайту с помощью https://localhost:44319, Я получаю страница не найдена.

Это мои свойства проекта:

project properties

Это из моей конфигурации приложения IISExpress:

<site name="MVC Authentication" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="F:ProjectsMySiteTest" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44319:localhost" />
        <binding protocol="http" bindingInformation="*:26049:localhost" />
    </bindings>
</site>

9 ответов


получил решение от этого поста. Пришлось удалить все сертификаты localhost и восстановить IIS Express. Спасибо @Шатин

https://stackoverflow.com/a/22818853/853295

обязательно удалите все предыдущие сертификаты "localhost", так как они могут конфликтовать с сертификатами, созданными IIS Express. У меня была такая же ошибка (ERR_SSL_PROTOCOL_ERROR), и мне потребовалось много часов, чтобы, наконец, понять это после опробования многих многих "решений". Моя ошибка была в том, что я создал свой собственный сертификат "localhost", и их было два. Мне пришлось удалить оба и IIS Express воссоздать его.

вот как вы можете проверить и удалить сертификат "localhost":

при запуске введите - > mmc.исполняемый, Файл -> Добавить/удалить оснастку..., Выберите сертификаты -> добавить -> учетная запись компьютера -> локальный компьютер, Проверьте под сертификаты > личные > сертификаты. Убедитесь, что существующий сертификат localhost имеет понятное имя " разработка IIS Express Сертификат." Если нет, удалите его. Или если несколько, удалите все. В Visual Studio выберите проект и на вкладке свойства включите SSL=true. Сохранить, построить и запустить. IIS Express создаст новый сертификат "localhost".

Примечание: Если это не работает, попробуйте следующее: обязательно отключите IIS Express на VS project и остановите все запущенное приложение на нем до удаления сертификата "localhost". Кроме того, вы можете перейти в "Панель управления > программы" и восстановить IIS Express.


пожалуйста, ради любви к Богу, попробуйте это, прежде чем вы погрязнете в каком-то ненужном сумасшествии!

(видимо IIS Express зарезервировал диапазон портов 44300 - 44399 моделирования протокол SSL)

переход на порт 44300 (https://localhost:44300/)


шаги, за которыми я следую, чтобы решить эту проблему (я использую vs2015) enter image description here

1) Перейти к панели управления

2)Добавить Удалить Программы

3) Ремонт IIS Express

4) перезагрузил компьютер

4) Далее перейдите в Мои документы - > IIS Express - >Config Files

5) Возьмите их копию и удалите эти файлы оттуда

6) удалить все элементы C:\Temp

7)проверить .vs папка в вашем файле sln и goto папка config в нее

8) возьмите копию этого также и удалите файлы внутри него

9)очистите ваше решение

10) перезапустите Visual studio

11) построить и запустить

(Я скопировал чистые файлы конфигурации с моей машины коллег-в местах, упомянутых выше
1]В Документах
2] .папка против
Я полагаю, просто запустив IISExpress, и он воссоздаст файл для вас. Exe находится по адресу: "c:\Program Файлы\IIS Express\iisexpress.исполняемый." )


похоже, что IIS Express не запускает проект под URL-адресом https. Попробуйте изменить URL-адрес проекта по умолчанию на SSL в

"веб-проект- > свойства - >веб - > URL проекта" к URL-адресу с https.

enter image description here


в моем случае при предыдущем запуске IIS Express добавил сертификат (называемый localhost) в папку Personal > Certificates. Но я получал недопустимую ошибку сертификата в приложении. Поэтому я переместил сертификат localhost в доверенный корень...> Сертификаты и все начало работать.

на следующий день, когда я запускаю то же приложение, я начал получать эту ошибку ERR_CONNECTION_RESET. Все, что мне нужно было сделать, это переместить сертификат localhost из доверенного корня...> Папка сертификатов и обратно в папку Personal > Certificates. enter image description here

Если сертификат "localhost" отсутствует в любой из папок, вам необходимо восстановить/переустановить IIS Express с панели управления > установка и удаление программ. Это восстановит сертификат localhost.

Visual Studio 2015, IIS Express, Windows 8, Asp.net MVC


У меня были эти проблемы SSL с Chrome и Edge.

после долгого процесса рассмотрения всех этих ответов и предложений, что в конечном итоге сработало для меня (asp.net mvc 5, VS2015) был смесью ответов выше

  1. добавить сертификаты оснастки, как показано выше, удаление сертификатов mutlitple и восстановить новый сертификат: спасибо @garethb
  2. проблема тогда находится вокруг уровня доверия этого сертификата. Следующая ссылка показывает шаг за шагом процесс экспорта и импорта (а не просто перемещения) локального сертификата https://blogs.msdn.microsoft.com/robert_mcmurray/2013/11/15/how-to-trust-the-iis-express-self-signed-certificate/

    1. при закрытии всего, а затем перестроить и развернуть в IIS Express, у меня больше нет ошибок SSL в любом браузере

ни один из этих вариантов не работал для меня в VS2017 с той же проблемой. Это решение с использованием iisexpresscmdadmin с самозаверяющим сертификатом заставило мой сайт, наконец, подтянуть:

как исправить отсутствующий сертификат IIS Express SSL?


У меня была та же проблема. Мой HTTP-сайт работал нормально, но IIS Express просто не запускал мой сайт SSL. В то время как это было накануне.

моя проблема заключалась в том, что я как-то испортил aplicationhost.конфигурационный файл. Мой проект был зарегистрирован дважды:

<site name="Test.Api" id="5">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
    </bindings>
</site>
<site name="Test.Api(1)" id="6">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
        <binding protocol="https" bindingInformation="*:44349:localhost" />
    </bindings>
</site>

удаление обеих записей и создание нового виртуального каталога со страницы свойств проекта исправили проблему для меня.

создание нового виртуального каталога из свойств страница


используя VS 2017, ни одно из этих решений не работало, даже после экспорта сертификата и импорта в Chrome. Это, наконец, сработало после того, как я сделал две вещи: (1) скопировал сертификат localhost из Personal в Trusted Root (2) изменен номер порта в свойствах проекта с 61899 на 44300 Я думаю, что просто Шаг (2) сделал трюк.