Як ви використовуєте https / SSL на localhost?


88

Я хотів би знати, як налаштувати SSL у своєму веб-додатку на localhost.

Я не маю досвіду в цьому, я б вдячний керівництву. Я вже закінчив впровадження мого веб-додатку, і він мені потрібен для використання https на localhost або під час розміщення його на сервері.

Будь-які ідеї?

З повагою.


Перевірте аналогічний пост: stackoverflow.com/questions/36037510 / ...
Pusker György

Відповіді:


23

Якщо у вас є IIS Express (з Visual Studio):

Щоб увімкнути SSL у IIS Express, потрібно просто встановити “SSL Enabled = true” у вікні властивостей проекту.

Дивіться кроки та малюнки у цьому кодовому проекті .

IIS Express згенерує для вас сертифікат (вам буде запропоновано його тощо). Зауважте, що залежно від конфігурації сайт все одно може автоматично запускатися з URL-адреси, а не з URL-адресою SSL. Ви можете побачити URL-адресу SSL - занотуйте номер порту та замініть його в адресному рядку браузера; ви зможете увійти та протестувати.

Звідти ви можете клацнути правою кнопкою миші на своєму проекті, клацнути на сторінках властивостей, потім запустити параметри та призначити стартову URL-адресу - поставити новий https з новим портом (зазвичай 44301 - зауважте схожість з портом 443), і з цього часу ваш проект почне правильно на.

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


Чи можу я вибрати порт? тобто використовувати порт https за замовчуванням; порт 443?
Червоний горошок

1
@TheRedPea У кожному випадку, з яким я стикався, вам потрібно використовувати порт 44301 для локального тестування замість використання порту 443. Це не вплине на порти, які ви використовуєте для вашого реального сервера (який ви прив'язуєте в IIS), який майже завжди буде 443 припускаючи, що ви використовуєте https.
JackArbiter

21

Легко створити самопідписаний сертифікат, імпортувати його та прив’язати до свого веб-сайту.

1.) Створіть самопідписаний сертифікат:

Виконайте наступні 4 команди по черзі з підвищеного командного рядка:

cd C:\Program Files (x86)\Windows Kits\8.1\bin\x64

makecert -r -n "CN=localhost" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv localhost.pvk localhost.cer

cert2spc localhost.cer localhost.spc

pvk2pfx -pvk localhost.pvk -spc localhost.spc -pfx localhost.pfx

2.) Імпортуйте сертифікат до магазину надійних кореневих органів сертифікації:

запуск -> запуск -> mmc.exe -> плагін сертифікатів -> «Довірені кореневі органи сертифікації» -> сертифікати

Клацніть правою кнопкою миші Сертифікати -> Усі завдання -> Імпорт Знайдіть свій сертифікат "localhost" за адресою C: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x64 \

3.) Прив’язати сертифікат до веб-сайту:

запуск -> (IIS) Менеджер -> Клацніть на своєму сервері -> Клацніть на Сайти -> Клацніть на своєму веб-сайті верхнього рівня -> Прив'язки

Додайте або відредагуйте прив'язку для https і виберіть сертифікат SSL, який називається "localhost".

4.) Імпорт сертифіката в Chrome:

Налаштування Chrome -> Керування сертифікатами -> Імпорт сертифіката .pfx із папки C: \ certificate \

Перевірте сертифікат, відкривши Chrome і перейшовши на https: // localhost /


Як отримати файли, які ви щойно використали в команді makecert? localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc. Як отримати файл private.key, щоб зробити файл allinone.pem для використання на інших веб-серверах, а не IIS?

Якщо ви не хочете імпортувати сертифікат у Chrome, ви можете вимкнути функцію безпеки Chrome, яка блокує доступ до самопідписаних сертифікатів на localhost stackoverflow.com/a/31900210/2733283
Джейсон Вільямс,

8

Це питання справді давнє, але я натрапив на цю сторінку, коли шукав найпростіший і найшвидший спосіб зробити це. Використовувати Webpack набагато простіше:

встановити webpack-dev-сервер

npm i -g webpack-dev-server

запустити webpack-dev-сервер з https

webpack-dev-server --https

2
Це буде обслуговувати файли js, що складають програму, але не запускає програму.
user1944491

Чи можна це використовувати поряд із існуючим сервером розробників, таким як XAMPP?
Прометей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.