Konfigurowanie protokołów HTTP i HTTPS
Usługi i klienci programu WCF mogą komunikować się za pośrednictwem protokołu HTTP i HTTPS. Ustawienia PROTOKOŁU HTTP/HTTPS są konfigurowane przy użyciu usług Internet Information Services (IIS) lub za pomocą narzędzia wiersza polecenia. Jeśli usługa WCF jest hostowana w ramach ustawień protokołu HTTP lub HTTPS usług IIS, można skonfigurować w usługach IIS (za pomocą narzędzia inetmgr.exe). Jeśli usługa WCF jest hostowana samodzielnie, ustawienia PROTOKOŁU HTTP lub HTTPS są konfigurowane przy użyciu narzędzia wiersza polecenia.
Co najmniej chcesz skonfigurować rejestrację adresu URL i dodać wyjątek zapory dla adresu URL, którego będzie używać usługa. Te ustawienia można skonfigurować za pomocą narzędzia Netsh.exe.
Konfigurowanie rezerwacji przestrzeni nazw
Rezerwacja przestrzeni nazw przypisuje prawa do części przestrzeni nazw adresu URL HTTP do określonej grupy użytkowników. Rezerwacja daje tym użytkownikom prawo do tworzenia usług, które nasłuchują tej części przestrzeni nazw. Rezerwacje to prefiksy adresów URL, co oznacza, że rezerwacja obejmuje wszystkie ścieżki podrzędne ścieżki rezerwacji. Rezerwacje przestrzeni nazw umożliwiają korzystanie z symboli wieloznacznych na dwa sposoby. W dokumentacji interfejsu API serwera HTTP opisano kolejność rozpoznawania między oświadczeniami przestrzeni nazw, które obejmują symbole wieloznaczne.
Uruchomiona aplikacja może utworzyć podobne żądanie, aby dodać rejestracje przestrzeni nazw. Rejestracje i rezerwacje konkurują o części przestrzeni nazw. Rezerwacja może mieć pierwszeństwo przed rejestracją zgodnie z kolejnością rozwiązania podaną w kolejności rozpoznawania roszczeń między oświadczeniami przestrzeni nazw, które obejmują symbole wieloznaczne. W takim przypadku rezerwacja blokuje uruchomioną aplikację w celu odbierania żądań.
W poniższym przykładzie użyto narzędzia Netsh.exe:
netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user
To polecenie dodaje rezerwację adresu URL dla określonej przestrzeni nazw adresu URL dla konta DOMAIN\user. Aby uzyskać więcej informacji na temat korzystania z polecenia netsh, wpisz netsh http add urlacl /?
polecenie w wierszu polecenia i naciśnij klawisz Enter.
Konfigurowanie wyjątku zapory
W przypadku samoobsługowego hostowania usługi WCF, która komunikuje się za pośrednictwem protokołu HTTP, należy dodać wyjątek do konfiguracji zapory, aby zezwolić na połączenia przychodzące przy użyciu określonego adresu URL.
Konfigurowanie certyfikatów SSL
Protokół Secure Sockets Layer (SSL) używa certyfikatów na kliencie i serwerze do przechowywania kluczy szyfrowania. Serwer udostępnia certyfikat SSL po nawiązaniu połączenia, aby klient mógł zweryfikować tożsamość serwera. Serwer może również zażądać certyfikatu od klienta w celu zapewnienia wzajemnego uwierzytelniania obu stron połączenia.
Certyfikaty są przechowywane w scentralizowanym magazynie zgodnie z adresem IP i numerem portu połączenia. Specjalny adres IP 0.0.0.0 pasuje do dowolnego adresu IP dla komputera lokalnego. Należy pamiętać, że magazyn certyfikatów nie rozróżnia adresów URL na podstawie ścieżki. Usługi z tym samym adresem IP i kombinacją portów muszą współużytkować certyfikaty, nawet jeśli ścieżka w adresie URL usług jest inna.
Aby uzyskać instrukcje krok po kroku, zobacz How to: Configure a Port with an SSL Certificate (Instrukcje: konfigurowanie portu przy użyciu certyfikatu SSL).
Konfigurowanie listy nasłuchiwania adresów IP
Interfejs API serwera HTTP wiąże się tylko z adresem IP i portem po zarejestrowaniu adresu URL przez użytkownika. Domyślnie interfejs API serwera HTTP wiąże się z portem w adresie URL dla wszystkich adresów IP maszyny. Konflikt występuje, jeśli aplikacja, która nie korzysta z interfejsu API serwera HTTP, została wcześniej powiązana z tym połączeniem adresu IP i portu. Lista nasłuchiwania adresów IP umożliwia współistnienie usług WCF z aplikacjami korzystającymi z portu dla niektórych adresów IP maszyny. Jeśli lista nasłuchiwania adresów IP zawiera jakiekolwiek wpisy, interfejs API serwera HTTP jest powiązany tylko z tymi adresami IP, które określa lista. Modyfikowanie listy nasłuchiwania adresów IP wymaga uprawnień administracyjnych.
Użyj narzędzia netsh, aby zmodyfikować listę nasłuchiwania adresów IP, jak pokazano w poniższym przykładzie:
netsh http add iplisten ipaddress=0.0.0.0:8000
Inne ustawienia konfiguracji
W przypadku korzystania z WSDualHttpBindingprogramu połączenie klienta używa wartości domyślnych, które są zgodne z rezerwacjami przestrzeni nazw i zaporą systemu Windows. Jeśli zdecydujesz się dostosować podstawowy adres klienta połączenia podwójnego, należy również skonfigurować te ustawienia HTTP na kliencie, aby były zgodne z nowym adresem.
Interfejs API serwera HTTP ma pewne zaawansowane ustawienia konfiguracji, które nie są dostępne za pośrednictwem protokołu HttpCfg. Te ustawienia są przechowywane w rejestrze i mają zastosowanie do wszystkich aplikacji działających w systemach korzystających z interfejsów API serwera HTTP. Aby uzyskać informacje o tych ustawieniach, zobacz Http.sys ustawienia rejestru dla usług IIS. Większość użytkowników nie musi zmieniać tych ustawień.