Niestety domyślnie ten serwis jest dostępny po HTTP i uważam, że to jest problem. Dlatego pokażę jak skonfigurować obsługę HTTPS tak, by jednocześnie serwis po HTTP i HTTPS był dostępny. W przykładzie postawiłem AD CSa na kontrolerze domeny i wiem, że to nie jest najlepsze rozwiązanie, ale szczerze powiedziawszy byłem trochę leniwy i nie chciało mi się w środowisku testowym stawiać nowej VMki dla AD CSa. Nie wiem, czy IIS po instalacji automatycznie wykonuje żądanie certyfikatu, by w przyszłości włączyć SSL dla stronki – w moim przypadku certyfikat już był przygotowany, ale na wszelki wypadek opiszę krótko jak krok po kroku wygenerować certyfikat z poziomu IISa.
Certyfikat SSL
Na początku należy otworzyć Menedżer internetowych usług informacyjnych (IIS) i wybrać w drzewku nasz serwer i wybrać Certyfikaty serwera.
W moim przypadku certyfikat tutaj już jest, ale wygenerujemy nowy dla przykładu klikając prawym i Utwórz żądanie certyfikatu….
Następnie należy wypełnić wszystkie dane. Najważniejsze jest to, żeby nazwa pospolita zgadzała się z tym, co wpisujemy, czyli jeśli wchodzimy na stronę https://dc1.stormshield.local/certsrv
, to nazwa pospolita powinna być dc1.stormshield.local
lub *.stormshield.local
.
Następnie wybieramy jako dostawcę usług kryptograficznych i długość w bitach to, co mam poniżej. Opcjonalne jest zmienienie długości klucza na 4096 znaków.
Następnie należy po prostu zapisać żądanie podpisania certyfikatu (CSR).
Mając CSR należy wykonać żądanie podpisania certyfikatu. Można je zrealizować poprzez nasz serwis webowy po HTTP lub skorzystać z polecenia:
certreq -Submit -Attrib "CertificateTemplate:WebServer" -Config "dc1.stormshield.local\Stormshield Root CA" .\request.csr
//ta kropka i backslash (.\) wynikają z tego, że używałem konsoli Microsoft PowerShell
Następnie zapisujemy certyfikat i w IIS w tym samym miejscu, gdzie byliśmy wybieramy Ukończ żądanie certyfikatu….
Następnie wskazujemy plik certyfikatu, który zapisaliśmy, wpisujemy nazwę przyjazną, by łatwo rozpoznać który certyfikat podpisaliśmy (ja dopisałem 2 do nazwy, bo obawiałem się o to, że pierwszy certyfikat ma już jakąś nazwę pospolitą, lecz jednak nie miał) i na końcu wybieramy magazyn certyfikatów dla nowego certyfikatu jako Usługa hosta w sieci Web.
Po tym możemy przejść do ustawień serwisu CertSrv
, a następnie do Ustawienia zaawansowane… po prawej stronie.
W sekcji Włączone protokoły powinniśmy pole powinno zawierać http, https
. Jeśli tak ustawiliśmy, możemy zapisać.
Następnie należy przejść do Default Web Site
i zmienić ustawienia powiązań, by umożliwić łączenie się na stronę po porcie 443. Klikamy po prawej na Powiązania…, dodajemy nowe powiązanie.
Następnie w Typ wskazujemy https
, w nazwie hosta wskazujemy dc1.stormshield.local
(tak jest w moim przypadku), port powinien być 443 i na dole musimy wybrać certyfikat SSL. Ja już wybrałem wcześniej i po lewej stronie jest podgląd certyfikatu po kliknięciu Wyświetl….
Poniżej też pokazuję, że nasz utworzony certyfikat też jest na liście dostępny.
Po tym wszystkim wystarczy zapisać i wszystko już powinno działać poprawnie:
Na najlepszej przeglądarce na świecie (XD) też działa: