HTTPS со встроенным сервером разработки ASP.NET Visual Studio


Ответы:


143

На данный момент мы можем использовать IIS Express для разработки и тестирования SSL. Вот полная статья, объясняющая, как использовать IIS Express и Visual Studion 2010 для разработки веб-сайтов с использованием SSL.

введите описание изображения здесь

следующий

введите описание изображения здесь

Тогда вы получите это

введите описание изображения здесь

Работать с SSL во время разработки стало проще с IISExpress

Представляем IIS Express


7
Этот ответ следует увеличить, принятый ответ очень устарел. Я успешно использовал методы из связанной статьи, чтобы запустить SSL через VisualStudio 2010 и IIS Express
— Том Уэйсон

3
Тогда просто не забудьте использовать URL-адрес SSL из этого окна свойств, потому что, если вы не изменили его, в следующий раз, когда вы начнете отладку, он все равно будет использовать URL-адрес без SSL (очевидно, но легко не заметить ...)
— BornToCode 06

При использовании я получаю "Недействительное имя хоста".
— MrFox

Похоже, это не работает с VS2017. IISExpress должен прочитать applicationhost.config в папке /.vs/config/ решения. Кто-нибудь знает секрет этой работы?
— MC9000

Для меня это вроде работает (Сообщество VS 2017). Когда я отлаживаю, мне нужно вручную скопировать / вставить URL-адрес SSL в браузер ... просто нажав кнопку отладки в среде IDE, я перейду к версии без SSL.
— John Riehl

38

Cassini не поддерживает HTTPS.

Однако вы можете использовать IIS для этого. Если вы используете IIS 5.1, загрузите пакет инструментов MS IIS для IIS 6.0, он поставляется с инструментом для создания самоподписанных сертификатов SSL. Это работает на IIS 5.1

http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en

Единственный необходимый вам инструмент (SelfSSL.exe) отлично работает с IIS 5.1. К сожалению, он поставляется в комплекте с множеством других вещей.

шаги:

  • Установите файл инструментов IIS. Если вы хотите, вы можете нажать Custom и указать ему устанавливать только SelfSSL.
  • Активируйте сайт в IIS, на котором вы также хотите установить сертификат SSL.
  • Перейдите в Пуск / Программы / Ресурсы IIS / SelfSSL.
  • Это запустит командную строку в каталоге SelfSSL.
  • Используя предоставленную справку, запустите SelfSSL. Я использовал следующую команду: selfssl.exe / N: cn = [MACHINENAME] / K: 1024 / V: 90 / S: 5 / P: 443.
  • Параметр / S указывает, на каком сайте установить сертификат. Вы можете определить это число, посмотрев на свои сайты в IIS и посчитав (начиная с 1 для первого сайта, а не с 0) до нужного сайта.
  • Как только это запустится, перейдите на свой локальный хост через HTTPS.
  • Вы должны получить сообщение об ошибке о том, что этот сертификат получен из ненадежного источника. Вы можете либо добавить свое имя машины в список доверенных органов браузера, либо указать браузеру, чтобы он игнорировал это.

На этом этапе вы сможете запускать свой локальный хост через HTTPS.


1
Нет причин использовать дурацкий встроенный веб-сервер VS. Зачем использовать это, когда вы в первую очередь должны использовать IIS. Познакомьтесь с IIS, перестаньте говорить, что просто использовать кнопку «Создать виртуальный каталог» в VS слишком сложно и сложно, что упрощает создание такого каталога в IIS. А затем познакомьтесь с IIS. Пора разработчикам перестать этого бояться. Познакомьтесь с пулами приложений и т. Д. В остальном я видел, что большинство разработчиков, использующих встроенный сервер, невежественны, когда дело касается IIS. Плохо для вашей карьеры, если вы разработчик. Еще пара шагов для отладки, ну и что.
— PositiveGuy

3
См. Ответ Гуру Кара ... IIS Express - лучший ответ
— Ли Гарольд

12

Вилко Бауэр написал сервер веб-разработки, который будет поддерживать https. Он один из разработчиков, которые работали над Cassini Visual Studio 2005, встроенной в веб-сервер. WebDev.WebServer2


1
Ссылка больше не доступна, но вы можете получить ее через web.archive.org/web/20080123212335/http://www.wilcob.com/Wilco/…
— labilbe 06

1
Ссылка снова доступна.
— Скотт Стаффорд

Большое спасибо за это, никогда не знал, что есть класс HttpListener, который вы изменили мой мир!
— Питер

2

Выберите файл проекта в обозревателе решений: например: «WebApplication1».

Нажав ALT + ENTER, вы вводите свойства проекта.

Выберите «DEBUG» на левой стороне .

Здесь вы можете выбрать «Включить SSL» .

Затем вы можете начать свой проект с IIS Express в обычном режиме, и он начнет использовать SSL, новый порт будет 44301.



Что ты хочешь узнать?
— MrzJkl

3
Раздел «DEBUG» в свойствах проекта существует для .NET Core WebApplications. Для .NET Framework WebApplication - выберите веб-проект, нажмите F4 (чтобы открыть окно «Свойства») - есть свойство «Включить SSL»
— Сергей Смольников

Спасибо, Сергей. Я не смог найти этого, поскольку он не отображается на странице настроек проекта. Только под обозревателем решений при нажатии F4!
— Норберт Норбертсон,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.