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>
Ответы
Ответ 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), было сочетание ответов выше
Ответ 7
Ни один из этих параметров не работал у меня в VS2017 с той же проблемой. Это решение, использующее iisexpresscmdadmin с самоподписанным сертификатом, заставило мой сайт окончательно подтянуться:
Как исправить отсутствующий сертификат 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, для одного и того же сайта.