Localhost'ta https / SSL'yi nasıl kullanıyorsunuz?


88

Yerel ana bilgisayardaki web uygulamamda SSL'yi nasıl kuracağımı öğrenmek istiyorum.

Bunu yapmak konusunda hiçbir geçmişim yok, rehberliği takdir ederim. Web uygulamamı uygulamayı zaten bitirdim ve localhost'ta https kullanmak için veya bir sunucuda barındırırken buna ihtiyacım var.

Herhangi bir fikir?

Saygılarımızla.


Benzer
gönderiyi

Yanıtlar:


24

IIS Express'iniz varsa (Visual Studio ile):

IIS Express içinde SSL'yi etkinleştirmek için, proje özellikleri penceresinde “SSL Etkin = true” ayarlamanız yeterlidir.

Bu kod projesindeki adımlara ve resimlere bakın .

IIS Express sizin için bir sertifika oluşturacaktır (sizden istenecektir, vb.). Yapılandırmaya bağlı olarak sitenin, SSL URL'si yerine otomatik olarak URL ile başlayabileceğini unutmayın. SSL URL'sini görebilirsiniz - port numarasını not edin ve tarayıcınızın adres çubuğunda değiştirin, içeri girip test edebilmelisiniz.

Oradan projenize sağ tıklayabilir, mülk sayfalarını tıklayabilir, ardından seçenekleri başlatabilir ve başlangıç ​​URL'sini atayabilirsiniz - yeni https'yi yeni bağlantı noktasına yerleştirin (genellikle 44301 - 443 numaralı bağlantı noktasına benzerliği fark edin) ve projeniz o andan itibaren doğru şekilde başlayacaktır. üzerinde.

görüntü açıklamasını buraya girin


Limanı seçebilir miyim? yani varsayılan https bağlantı noktasını kullanın; 443 numaralı bağlantı noktası?
The Red Pea

1
@TheRedPea Karşılaştığım her durumda, 443 numaralı bağlantı noktasını kullanmak yerine yerel olarak test etmek için 44301 numaralı bağlantı noktasını kullanmanız gerekir. Bu, canlı sunucunuz için kullandığınız bağlantı noktalarını etkilemez (IIS'de bağladığınız bağlantı noktaları neredeyse her zaman 443 olacaktır) https kullandığınızı varsayarsak.
JackArbiter

21

Kendinden imzalı bir sertifika oluşturmak, içe aktarmak ve web sitenize bağlamak kolaydır.

1.) Kendinden imzalı bir sertifika oluşturun:

Aşağıdaki 4 komutu, yükseltilmiş bir Komut İstemi'nden birer birer çalıştırın:

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.) Sertifikayı Güvenilir Kök Sertifika Yetkilileri deposuna aktarın:

start -> run -> mmc.exe -> Sertifikalar eklentisi -> "Güvenilen Kök Sertifika Yetkilileri" -> Sertifikalar

Sertifikalar -> Tüm Görevler -> İçe Aktar'a sağ tıklayın C: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x64 \ konumunda "localhost" Sertifikanızı bulun

3.) Sertifikayı web sitesine bağlayın:

başlat -> (IIS) Yöneticisi -> Sunucunuza tıklayın -> Sitelere tıklayın -> En üst düzey sitenize tıklayın -> Bağlantılar

Https için bir bağlama ekleyin veya düzenleyin ve "localhost" adlı SSL sertifikasını seçin.

4.) Sertifikayı Chrome'a ​​Aktarın:

Chrome Ayarları -> Sertifikaları Yönet -> .pfx sertifikasını C: \ sertifikaları \ klasöründen içe aktar

Chrome'u açıp https: // localhost / adresine giderek Sertifikayı test edin.


Komutta kullandığınız dosyaları nasıl elde edersiniz makecert? localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc. Allinone.pem dosyasını diğer web sunucularında ve ardından IIS'de kullanmak için private.key dosyasını nasıl edinebilirim?

Sertifikayı Chrome'a ​​aktarmak istemiyorsanız, localhost stackoverflow.com/a/31900210/2733283
Jason Williams

9

Bu soru gerçekten çok eski, ancak bunu yapmanın en kolay ve en hızlı yolunu ararken bu sayfaya rastladım. Webpack'i kullanmak çok daha basittir:

webpack-dev-server kur

npm i -g webpack-dev-server

webpack-dev-server'ı https ile başlat

webpack-dev-server --https

2
Bu, uygulamayı oluşturan js dosyalarına hizmet eder, ancak uygulamayı çalıştırmaz.
user1944491

Bu, XAMPP gibi mevcut bir geliştirme sunucusuyla birlikte kullanılabilir mi?
Prometheus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.