Подтвердить что ты не робот

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:\Projects\MySite\Test" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44319:localhost" />
        <binding protocol="http" bindingInformation="*:26049:localhost" />
    </bindings>
</site>
4b9b3361

Ответ 1

Получил решение из этой публикации. Пришлось удалить все локальные сертификаты и восстановить IIS Express. Спасибо @ShaTin

fooobar.com/questions/74676/...

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

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

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

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

Ответ 2

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

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

Изменить на порт 44300 (https://localhost: 44300/)

Ответ 3

Шаги, следующие за мной, чтобы решить эту проблему (я использую vs2015) введите описание изображения здесь

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

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

3) Ремонт IIS Express

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

4) Затем перейдите к моим документам- > IIS Express- > Config Files

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

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

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

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

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

10) Перезапустить Visual Studio

11) Постройте и запустите

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

Ответ 4

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

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

enter image description here

Ответ 5

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

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

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

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

Ответ 6

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

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

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

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

Ответ 8

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

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

<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>

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

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

Ответ 9

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

Ответ 10

Попробуйте изменить привязки в IIS

Эта ссылка - то, что решило мою 3-дневную неустойчивую головную боль: https://deanhume.com/set-up-iis-7-to-run-a-secure-site-locally-https/

Вот конкретные шаги, которые привели к моему открытию настоящей проблемы:

Ключ Windows> Администрирование> Информационные службы Интернета> Нажмите на веб-сайт по умолчанию (или любой другой веб-сайт) > Привязки...> Удалите все дубликаты привязок для локального хоста> Добавьте привязку https для порта 80.

Ответ 11

0

У меня недавно была очень похожая проблема с VS 2019 и IIS Epress. Я попытался изменить http на https, чтобы я мог использовать ADFS. https://i.stack.imgur.com/Kd34a.png

После небольшого исследования я попытался изменить свойство 'Require SSL' с true на false и обратно на true. Это вызвало обновление файла applicationhost.config(.... Vs\ProjectName\config\applicationhost.config), который создал новую привязку SSL с новым номером порта для протокола https. Итак, я изменил все ссылки с предложенным новым портом (в веб-свойстве проекта, в файле конфигурации и в конфигурации ADFS), и он работает. Вывод: необязательно, чтобы http-порт был таким же, как https, для одного и того же сайта.