Czy skonfigurować IIS 7.5 z wieloma powiązaniami stron i SSL?

11

W IIS 7.5 staram się to osiągnąć za pomocą dwóch stron internetowych:

Default Web Site is bound to:

(blank host header port 80 - http)
(blank host header port 443 - https)
go.example.com
www71.example.com
the IP address of go.example.com

2nd web site "Beta" is bound to:

beta.example.com
(blank host header port 443 - https)
* using blank only because it doesn't seem to be possible to 
  bind https to a named host header

Oba muszą współpracować z SSL. Ale mam te problemy:

  1. Kiedy piszę w beta.example.com, widzę zamiast tego stronę go.example.com
  2. Nie mogę dodać powiązania SSL do obu stron jednocześnie (mam jeden certyfikat wieloznaczny * .example.com). Witryna beta nawet się nie uruchomi, jeśli dodam do niej powiązanie https.

Oto jak to skonfigurowałem:

wprowadź opis zdjęcia tutaj

Jaki jest prawidłowy sposób konfiguracji?

JK01
źródło

Odpowiedzi:

8

Bez rozszerzeń SNI możesz powiązać tylko jeden certyfikat SSL na parę portów IP: Jeśli musisz uruchomić 2 HTTPS na tym samym adresie IP - powiąż je z różnymi portami, a następnie zapoznaj się z taką witryną podającą port w adresie URL (np https://beta.example.com:444/.). Możesz używać tego samego certyfikatu wieloznacznego na różnych portach bez żadnych problemów.

Jeśli masz więcej niż jedną witrynę z pustą nazwą hosta (dla protokołu HTTP), ta z niższym identyfikatorem powinna być „catch all”. To samo dotyczy HTTPS - ten o niższym ID powinien przechwytywać wszystkie żądania na tym porcie.

Z drugiej strony masz certyfikat wieloznaczny i widziałem jeden artykuł, który mówi, że można to zrobić w IIS7: http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html . W przeszłości próbowałem tego sam, ale nie działało to dla mnie dobrze - dość często IIS zgłaszał błąd 5xx podczas uzyskiwania dostępu nawet do plików statycznych (który przestał się pojawiać, gdy łączymy inny host z innym portem). Może od tego czasu zostało to naprawione.

LazyOne
źródło
2

Chociaż jest to starsze pytanie, niedawno musiałem to samo osiągnąć. Można to zrobić w IIS 7.x przy użyciu certyfikatów alternatywnej nazwy podmiotu. Certyfikaty te są lepsze od symboli wieloznacznych, ponieważ ograniczają się tylko do specjalnie wymienionych witryn, łagodząc w ten sposób ataki polegające na sfałszowaniu fałszywej nazwy witryny w domenie przechwyconej pod znakiem wieloznacznym.

Po zaimportowaniu certyfikatu SAN do IIS możesz użyć narzędzia appcmd, aby określić dodatkowe powiązanie lub ręcznie edytować plik applicationHost.config w sekcji, np.

<site name="SomeSite" id=9>
   <bindings>
     <binding protocol="http" bindingInformation="*:80:SomeSite"/>
     <binding protocol="https" bindingInformatoin="*:443:SomeSite" />
   </bindings>
</site>
David W.
źródło