Yukarıdaki bilgilerle birlikte; IIS Express'i Yönetici Ayrıcalıkları Olmadan Çalıştırma ile ilgili bu sayfadaki bilgilere göre;
SSL kullanma
Güvenli yuva katmanı (SSL) üzerinden erişimi yapılandırmak, tıpkı IIS'de olduğu gibi IIS Express'te de yönetici ayrıcalıkları gerektirir. Ancak, IIS Express kurulum programı, standart kullanıcıların IIS Express ile SSL kullanmasını sağlayan aşağıdaki görevleri gerçekleştirir:
- Yerel makine deposunda (localhost) otomatik olarak kendinden imzalı bir SSL sunucu sertifikası oluşturur ve yükler.
- HTTP.SYS'yi 44300 ila 44399 arasındaki bağlantı noktalarını SSL için ayırmak üzere yapılandırır. Localhost ve belirtilen aralıktaki bağlantı noktalarından birini kullanan gelen SSL istekleri otomatik olarak kendinden imzalı sertifika ile ilişkilendirilir. (HTTP.SYS, IIS ve IIS Express için SSL kullanan bir işletim sistemi bileşenidir. Kurulum programı, yükseltilmiş ayrıcalıklar altında çalıştığı için HTTP.SYS'yi yapılandırabilir.)
Sonuç olarak, IIS Express ile bir web sitesini test etmek için SSL kullanmak, applicationhost.config dosyasındaki site öğesine aşağıdakine benzer bir bağlayıcı eklemek kadar basittir:
XML: <binding protocol="https" bindingInformation="*:44300:localhost" />
Bu yalnızca yerel trafik (localhost istekleri) ve belirtilen bağlantı noktası aralığı için çalışır. Özel bir SSL sertifikası yapılandırmak veya belirtilen aralığın dışındaki bir bağlantı noktasını kullanarak SSL çalıştırmak için yönetici ayrıcalıkları gerekir.
Özetle; IIS Express, yönetici olmayan kullanıcıların aşağıdaki görevleri gerçekleştirmesini sağlar:
- Bir web sitesini yerel olarak çalıştırın ve 1024'ten büyük bir bağlantı noktası numarası kullanın.
- Web siteleri, uygulamalar ve sanal dizinler ekleyin, kaldırın ve değiştirin.
- Web sunucusunu başlatın ve durdurun.
- Önceden yüklenmiş otomatik olarak imzalanan SSL sertifikası ve 44300 ile 44399 arasındaki bir bağlantı noktasını kullanarak bir web sitesini test etmek için SSL desteği ekleyin.
Aşağıdaki görevleri gerçekleştirmek için yönetici ayrıcalıkları gerekir:
- 80 veya 443 gibi ayrılmış bir bağlantı noktası kullanın.
- Harici trafik için istekte bulunun.
- Özel bir SSL sertifikası yapılandırın.
- 44300 ila 44399 aralığının dışındaki bir bağlantı noktasını kullanarak SSL'yi çalıştırın.
Diğer bağlantı noktaları için Visual Studio 2017 SSL Sertifikasını yüklemedi, ancak önerilen şekilde yükleyebildim:
Visual Studio 2015, IIS Express 10, Windows 10 için bu seçenekler benim için çalışmadı. IIS Express 10'da bir onarım seçeneği yoktu.
Sorunu, C:\Program Files (x86)\IIS Express'te bulunan IisExpressAdminCmd.exe komutunu kullanarak çözmeyi başardım.
Yükseltilmiş bir komut isteminden şunu çalıştırın:
cd C:\Program Dosyaları (x86)\IIS Express IisExpressAdminCmd.exe setupsslUrl -url: urlToYourSite -UseSelfSigned
UrlToYourSite yerine url'nizi değiştirme.
Örneğin:
cd C:\Program Dosyaları (x86)\IIS Express IisExpressAdminCmd.exe setupsslUrl -url: https://localhost:44387/ -UseSelfSigned
Bundan sonra IIS Express'i kapattım ve sitemi Visual Studio'dan yeniden başlattım ve kendinden imzalı sertifikaya otomatik olarak güvenmesi isteniyor.
Sonra https://localhost:44348/ (FF kullanarak) web sitesine gidin ve istenirse güvenlik istisnasını ekleyin.
Umarım yardımcı olur.