IIS7: sitede SSL sertifikası ve 443 numaralı bağlantı noktası ile ana bilgisayar adını belirleyemiyor


47

IIS7 ile bir Win 2008 SP2 makinesi düşünün. Görev, bu makinedeki bir ve yalnızca Siteye bir sertifika ve ana bilgisayar adı uygulamak. Sitenin ana bilgisayar başlıklarının olması gerekiyorabc.123.example.com

İlk adım .pfx'i başarılı olan Personal Store'a yüklemek.

IIS7, sertifikayı kullanılabilir olarak bulur, ancak bir ana bilgisayar adı girilmesine izin vermez. Ana bilgisayar adı metin kutusu, sertifika seçilmeden önce bile HER ZAMAN devre dışı / gri renkte. 80 numaralı varsayılan bağlantı noktasını bile sildim.

Site Bağlamaları

Soru: Bu site için bir ana bilgisayar adını nasıl ayarlayabilirim? Bir joker sertifika olması bu certin meselesi midir? SSL isteğinin web sunucusuna geldiğini ve paketteki ana bilgisayar başlığının şifrelenmiş olduğunu anlıyorum. O zaman neden IIS6 ana bilgisayar başlığının belirtilmesine izin veriyor, ancak IIS7 kullanılmıyor?

Güncelleme: Sertifika sorunun bir parçası değil. Makinede yeni bir Site oluşturdum ve https bağlama seçildiğinde, ana bilgisayar adı metin kutusu devre dışı bırakılır.

Yanıtlar:


32

Kullanıcı arayüzünden yapamazsınız, komut satırından yapmanız gerekir. İşte süreçte güzel bir adım:

http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html


33
kullanışlı bir hile, cert '*' ile başlayan dost bir isim verin, bir IIS ana bilgisayar başlık kutusunu gri olarak alamaz
russau

1
Bunun eski olduğunu biliyorum ve sadece bir yorumda bulunuyor, ancak bu işe yaramaz numara bana biraz hayal kırıklığı kazandırdı. Teşekkür ederim!
bpursley

45

GUI'de çalışır ...

Yüklediğiniz sertifikanın 'kolay adının' sertifika için yaptığınız çoklu alan adıyla aynı olduğundan emin olun.

yani. * .companydomain.com

* .companydoman.com sertifikası için 'Nice friendly name' koyarsanız, sertifikayı IIS'ye yüklerken, ana bilgisayar adı başlık kutusunu gri renkte gösterir.

Kolay ad olarak * .companyname.com kullanıyorsanız, altınsınız.

Boom.


14
Bu ipucu için teşekkürler! Başkasının IIS'den bir sertifikayı yeniden adlandıramaması durumunda (herhangi biri olabilir mi?) Sertifikanın MMC ek bileşenindeki sertifikayı yeniden adlandırabilirsiniz. Sadece MMC'yi yükleyin, Sertifikalar ek bileşenini ekleyin, Bilgisayar Hesabı, Yerel Bilgisayar'ı seçin. Sertifikalar ek bileşenini yükledikten sonra Certiifcates (Yerel Bilgisayar)> Kişisel> Sertifikalar'a göz atabilir ve sertifikanızda Özellikler'i seçmek için sağ tıklayabilirsiniz. Friendly name alanını * .yoursite.com olarak değiştirin ve IIS yöneticisi ek bileşenini yeniden yükleyin
Garrett

4
Friendlyname, yalnızca "*" ile başlamaya ihtiyaç duyuyor ancak bunun için istediğiniz herhangi bir adı içerebilir. Benim durumumda, * .com dışında ortak bir kökü olmayan birkaç farklı etki alanı için geçerli bir sertifikaya sahiptim ve bunu arkadaş ismi olarak tuhaf görünüyordu. Böylece, bunun yerine * -mames-tanımlayıcı-name-here olarak adlandırdım. Ve yeniden adlandırma ipucu için @ Garrett teşekkürler!
21

Bu gerçek cevap. Güzel
Joe Phillips

@Garrett Bu, 'Etki Alanım SSL' gibi kolay bir ad kullandıysam, ana bilgisayar adı alanı boş olsa bile işlerin çalışmaya devam edeceği anlamına mı geliyor? Ana bilgisayar adlarımı kaybettikten sonra beni çok korkuttu, ancak 4 joker alt etki alanlarım yeniden yayımlanan SSL ile iyi çalışıyor gibi görünüyor? Açıkça '* .alanadim.com.tr' yi kolay ad olarak kullanmak, sadece ana bilgisayar adını görmenize izin verir, ancak başlık altında her iki seçeneğin de çalışması gerekir. Aksi halde, IIS açıkça bize nitelikli bir etki alanı adı kullanmamızı ve dostça bir ad kullanmamızı mı söylemeli?
Charles Robertson

10

Kısa cevap, her IP'nin kendisine bağlı bir sertifikaya sahip olabileceğidir, bu nedenle hangi IP adresi için hangi ana bilgisayar adı yönlendirilmiş olursa olsun sertifika bağlama uygulanacaktır. Bir ana bilgisayar adı belirtebilmeniz, aynı IP adresi ve bağlantı noktasında (SSL olmayan girişlerde olduğu gibi) birden fazla ana bilgisayar adı ve sertifika kombinasyonuna sahip olabileceğiniz anlamına gelir, ancak bu durumda alan kullanılamaz.

Daha eksiksiz bir açıklama, SSL'nin trafiğinizi şifrelemesidir ve bu trafiğin bir kısmı tarayıcı tarafından sunucuya gönderilen HTTP başlıklarıdır. Bu başlıklardan biri, IIS'nin isteği hangi siteye yükleyeceğini belirlemek için kullandığı "Host" başlığı olacaktır. İstek başlıkları gönderilmeden ÖNCE güvenli bağlantı kurmak için sertifikanın yüklenmesi gerektiğine göre, IIS sertifikayı yalnızca IP adresi ve bağlantı noktası numarasına göre seçmeli ve "Ana Bilgisayar" başlığını soğukta açık bırakmada belirleyici bir faktör olarak bırakmalıdır. hangi siteyi yükleyeceğinizi girmenize izin vermiyorlar.

SSL bağlantısının iç işleyişini daha ayrıntılı olarak anlatan bir makale .


Bu cevap için teşekkürler, Justin. Neden IIS7'nin listedeki IP adreslerinden birini seçsem bile ana bilgisayar başlığı belirtmeme izin vermediğinden hala emin değilim. IIS6 sorunsuz çalışır. Belirtildiği gibi, bu makinedeki tek ve tek site.
p.campbell

2
Ana bilgisayar başlıkları bir joker karakterle veya çok alanlı bir "UC" sertifikasıyla çalışabilir : sslshopper.com/unified-communications-uc-ssl-certificates.html . Bu durumda, sunucunun hizmetine yalnızca 1 yetkisi vardır ve hatta birden fazla ana bilgisayar adı vardır.
russau

Çok net bir açıklama. +1
Dan Solovay

7

SSLShopper yanıtı benim için işe yaramadı, çünkü bağlayıcıyı ana bilgisayar üstbilgisi olmadan bıraktı ve siz bu sertifikayla bağlantıyı kesmeden bu bağlayıcıyı kaldıramadınız. İşte işe almak için kullandığım yöntem:

Lütfen bu yanıtın, sertifikanızın zaten oluşturulduğunu, sertifika deposuna eklendiğini ve IIS'ye eklendiğini varsaydığını unutmayın. Ayrıca, web sitenize SSL dışında başka bir cilt bağlamak istemediğinizi de varsayar.

İlk önce biraz bilgi toplamamız gerekiyor. Karma, uygulama kimliği ve ana bilgisayar adına ihtiyacımız var.

adımlar

  1. IIS'yi açın, sunucunuzu seçin ve alt kısımdaki "Sunucu Sertifikaları" üzerine çift tıklayın. "Verilen" adresini not alın. Bu bizim ana bilgisayar ismimiz. Bunu kaydet.
  2. Sitenizi seçin
  3. Http protokolünü kullanarak sitenizi bağlantı noktası 80'e bağlayın
  4. Diğer tüm bağlantıları kaldır
  5. Https protokolünü kullanarak sitenizi 443 numaralı bağlantı noktasına bağlayın
  6. Bir komut istemi açın

    netsh http show sslcert
    
  7. Sertifika Karmasını ve Uygulama Kimliğini Kaydet

  8. Sitenizdeki https bağlantısını kaldırın
  9. Komut isteminde:

    netsh http add sslcert ipport=0.0.0.0:443 certstorename=my certhash=<put Certificate Hash here> appid={<put Application ID here>}
    
    appcmd set site /site.name:"<put site name here>" /+bindings.[protocol='https',bindingInformation='*:443:<put host name here>']
    

Not: Appcmd.exe, c: \ windows \ system32 \ insetsrv konumunda bulunabilir. Bu komutun çalışması için bu klasörde olmanız gerekebilir.

  1. Http bağlantısını sitenizden kaldırın

Teşekkürler! Bu, nihayet sitemin HTTPS’de çalışmasına yardımcı oldu. Komutlardan birinde bir yazım hatası düzelttim, ancak minimum uzunluk gereksinimlerini aşmak için Adımlar başlığını eklemek zorunda kaldım. Bunu kaldırmaktan çekinmeyin - orijinal cevabınızı takip etmek kolaydır. Şerefe!
patates dilimleri

Bu benim için çok az siteye sahip olduğum için hafif değişiklik gösteren 6 SAN'lı (joker karakter sertifikası olmayan) bir sertifikayla çalıştı. Bir kere 1'den 7'ye kadar olan adımları yapmak zorunda kaldım. Her sitede 8. adım yapılması gerekiyordu. 9. adımın ilk komutu bir kez, 9. adımın ikinci komutu ise her saha için bir kez yapılmak zorundaydı.
Steve Kaye,

4

Burada kabul edilen cevap kafa karıştırıcı ve soru için doğru olduğunu sanmıyorum. Kabul edilen cevap olmamalı.

Sorun

Gibi bir joker karakter SSL'siniz var *.ipsum.comve sertifika yüklüyse de, metin kutusu gri olduğu için bir HTTPS bağlaması eklemeye çalıştığınızda IIS için site için bir ana bilgisayar adı seçemezsiniz.

Çözüm

Joker karakter SSL’niz herhangi bir alt etki alanıyla kullanılabilir; yalnızca sertifikanın Kolay Adı ile başladığınızdan emin olmanız gerekir *. Joker karakter alanıyla aynı kolay adın kullanılmasını tercih ederim, örneğin, *.ipsum.comancak yıldız işaretine sahip olan herhangi bir şeyi çağırabilirsiniz:*foo

Sertifikama yanlış Dost Adı verdim!

Windows 8 veya Server 2012'den beri certlm.msc, yerel makine sertifikalarını yönetmek için başlat menüsünü yazabilirsiniz . Pencerelerin önceki sürümlerinde biraz daha kıvrımlı bir şey yapmanız gerekir:

  1. Run mmc.exebaştan
  2. FileMenüye gidin ve seçin Add/Remove Snap-in...veya vurun(Ctrl-M)
  3. Vurgulayın Certificatesek bileşenini ve hit Add >sonra seçin Computer Account, ardından Local Computerdaha sonra hit sonraki iletişim kutularında Finishardından OKek bileşenler penceresini kapatmak için

Ana pencerede, Certificates (Local Computer)ardından genişletin ve Personalardından Certificatessertifikayı sağ tıklayıp Propertieskolay adını güncelleyebileceğiniz yere tıklayabilirsiniz .

IIS Yöneticisi'ni kapatıp açın , sonra ana bilgisayar adınızı belirleyebilirsiniz.


1
Hile yaptı!
Kreker

1
@Zac Awesome. Muhteşem. Muhteşem. Her ne kadar ana bilgisayar adı boşsa bunun gerçekten önemli olduğunu düşünmeme rağmen, bana daha fazla iç huzur verdi. Lütfen, sertifikamı yeniden verdiğimi unutmayın. Bu yüzden, ana bilgisayar adım, boş olmadan önce ana bilgisayar adı alanındaydı. Jokerim SSL ya kolay bir adla ya da. IIS, ana bilgisayar adı alanı boşaldıktan sonra, ana bilgisayar adının dahili bir kaydını tutar. İnsanların çıldırması ihtimaline karşı, bunu söylemem gerektiğini düşündüm!
Charles Robertson

1
@Zac Oh. Ve bu çözüm, Windows 2008R2 gibi dinozor sunucularında çalışıyor ...
Charles Robertson

@CharlesRobertson bu yardımcı oldu çok sevindim, ve bu ek bilgi eklediğiniz için teşekkür ederiz!
Zac

2

Aslında, GUI üzerinden bir ana bilgisayar üstbilgisi ekleyebilirsiniz, ancak sertifikanın nasıl adlandırıldığına bağlı ... joker sertifikama * .xyz.com kolay bir ad verirseniz ve o sertifikayı seçersem, ben gui kullanabiliyor. Eğer dost isim xyzwildcard gibi bir şeyse, ve ben onu seçersem, bu durumda hostheader alanını kaplar ...

Tuhaf tuhaf


1

Bazı makineler, protokol https olarak değiştirilirse veya bir SSL sertifikası ekledikten sonra ana bilgisayar adını düzenlemenize izin vermez. IIS zaman zaman huysuz olabilir.

Bu Windows komutu, "https" protokolü ile "443" bağlantı noktasında, ana bilgisayar adı "subdomain.domain.com", site adı "site adı" ile yeni bir bağ oluşturur. Gereksinimlerinizi karşılamak için bu değerleri (tırnak içinde) değiştirin. Bağlantı noktası 443 kullanıyorsa, eski bağlayıcıyı silmeniz gerekir.

Run Windows Command Prompt as Administrator

C:>cd C:\Windows\System32\inetsrv

C: \ Windows \ System32 \ Inetsrv>appcmd set site /site.name:"site_name" /+bindings.[protocol='https',bindingInformation='*:443:subdomain.domain.com']


0

Ana bilgisayar adı, yalnızca seçilen Sertifikanın kızarmış adı, ana bilgisayar adı * .xyz.com'a benzeyecek şekilde eklenebilir ve sertifika dostu adını * .xyz.com olarak mmc (Ad-in) olarak yeniden adlandırabilirsiniz.


-1

Bu KB makalesinin konuya biraz ışık tutacağını düşünüyorum . Özetle HTTP 1.1 ana bilgisayar başlıkları, SSL kullandığınızda desteklenmez.

İstediğiniz şeyi muhtemelen başarabilecek olan şey, SecureBindings metatabanı anahtarını kullanmaktır. Örneğin, cscript.exe adsutil.vbs kümesi / w3svc / websiteID / SecureBindings "ip.ip.ip.ip: 443: abc.123.mysite.com


IIS 7'ye uygulanmaz.
davidcl

yaptığımız zaman çalıştığımızdan beri garip ...
Jim B

-1

MS neden GUI’nin OUT’ı alamaz ki, çünkü lisans dosyalarını kullanan bir ASP.NET uygulamanız varsa (licx), siteniz bir etki alanı adı yerine IP adresi olarak göründüğü için çalışmaz. . Yazılımlarının her yeni sürümünde ASSUMING STOP'u durdurmaları gerekir - BT çalışanlarının Microsoft tarafından bakılmaları gerekmez! Tanrım!


-2
  1. * .Testcompany.com ile kendinden imzalı bir sertifika hazırladım, Bağlama SSL Sertifikasını Düzenle açılır penceresindeki yeni oluşturulanları (* ile başlayan) seçtim, ana bilgisayar adı metin kutusunu etkinleştirdim, ana bilgisayar adını 'webapi.b2c olarak oluşturdum. .com'

  2. Hosts dosyasını C: \ Windows \ System32 \ drivers \ etc 127.0.0.1 webapi.b2c.com adresinde güncelledim.

Şimdi siteye ' https://webapp.b2c.com/ ' olarak göz atabiliyorum

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.