Настройка HTTP и HTTPSConfiguring HTTP and HTTPS

Службы и клиенты WCF могут взаимодействовать по протоколам HTTP и HTTPS.WCF services and clients can communicate over HTTP and HTTPS. Параметры HTTP/HTTPS задаются с помощью служб IIS или посредством использования средства командной строки.The HTTP/HTTPS settings are configured by using Internet Information Services (IIS) or through the use of a command-line tool. Когда служба WCF размещается в службах IIS, параметры HTTP или HTTPS можно задать в службах IIS (с помощью средства inetmgr.exe).When a WCF service is hosted under IIS HTTP or HTTPS settings can be configured within IIS (using the inetmgr.exe tool). Если служба WCF является резидентной, параметры HTTP или HTTPS задаются с помощью средства командной строки.If a WCF service is self-hosted, HTTP or HTTPS settings are configured by using a command-line tool.

Как минимум необходимо настроить регистрацию URL-адрес и добавить исключение брандмауэра для службы будет использоваться URL-адрес.At a minimum, you want to configure a URL registration and add a Firewall exception for the URL your service will be using. Эти параметры можно настроить с помощью средства Netsh.exe.You can configure these settings with the Netsh.exe tool.

Настройка резервирований пространства именConfiguring namespace reservations

Резервирование пространства имен назначает права на часть пространства имен URL-адреса HTTP определенной группе пользователей.Namespace reservation assigns the rights for a portion of the HTTP URL namespace to a particular group of users. Резервирование предоставляет этим пользователям право создавать службы, которые ожидают передачи данных в указанной части пространства имен.A reservation gives those users the right to create services that listen on that portion of the namespace. Резервирования представляют собой префиксы URL-адресов, это означает, что одно резервирование охватывает все подпути пути резервирования.Reservations are URL prefixes, meaning that the reservation covers all subpaths of the reservation path. Резервирования пространства имен позволяют использовать подстановочные знаки двумя способами.Namespace reservations permit two ways to use wildcards. Описание документации по API сервера HTTP порядок разрешения утверждений пространства имен, включающих подстановочные знаки.The HTTP Server API documentation describes the order of resolution between namespace claims that involve wildcards.

Запущенное приложение может создать аналогичный запрос для добавления регистраций пространства имен.A running application can create a similar request to add namespace registrations. Регистрации и резервирования конкурируют за части пространства имен.Registrations and reservations compete for portions of the namespace. Резервирование может иметь приоритет над регистрацией в соответствии с порядком разрешения, описанным порядок разрешения утверждений пространства имен, включающих подстановочные знаки.A reservation may have precedence over a registration according to the order of resolution given in the order of resolution between namespace claims that involve wildcards. В этом случае резервирование не позволяет запущенному приложению получать запросы.In this case, the reservation blocks the running application from receiving requests.

В следующем примере используется средство Netsh.exe:The following example uses the Netsh.exe tool:

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

Эта команда добавляет резервирование URL-адрес для указанного пространства имен URL-адрес для учетной записи "домен\имя пользователя".This command adds a URL reservation for the specified URL namespace for the DOMAIN\user account. Дополнительные сведения об использовании команды netsh введите netsh http add urlacl /? в командной строке следующую команду и нажмите клавишу ВВОД.For more information on using the netsh command, type netsh http add urlacl /? in a command-prompt and press Enter.

Настройка исключения брандмауэраConfiguring a firewall exception

При резидентном размещении службы WCF, которая осуществляет взаимодействие по протоколу HTTP, необходимо добавить исключение в конфигурацию брандмауэра, чтобы входящие соединения могли использовать определенный URL-адрес.When self-hosting a WCF service that communicates over HTTP, an exception must be added to the firewall configuration to allow inbound connections using a particular URL.

Настройка SSL-сертификатовConfiguring SSL certificates

Протокол SSL использует сертификаты в клиенте и службе для хранения ключей шифрования.The Secure Sockets Layer (SSL) protocol uses certificates on the client and server to store encryption keys. Сервер предоставляет свой SSL-сертификат при подключении, чтобы клиент мог проверить удостоверение сервера.The server provides its SSL certificate when a connection is made so that the client can verify the server identity. Для обеспечения взаимной проверки на обеих сторонах подключения сервер также запрашивает сертификат у клиента.The server can also request a certificate from the client to provide mutual authentication of both sides of the connection.

Сертификаты хранятся в централизованном хранилище в соответствии с IP-адресом и номером порта подключения.Certificates are stored in a centralized store according to the IP address and port number of the connection. Специальный IP-адрес 0.0.0.0 соответствует любому IP-адресу локального компьютера.The special IP address 0.0.0.0 matches any IP address for the local machine. Обратите внимание на то, что в хранилище сертификатов не различает URL-адреса, на основе пути.Note that the certificate store doesn't distinguish URLs based on the path. Службы с одним и тем же сочетанием IP-адреса и порта должны иметь общие сертификаты, даже если их пути в URL-адресе различаются.Services with the same IP address and port combination must share certificates even if the path in the URL for the services is different.

Пошаговые инструкции см. в разделе как: Настройка порта SSL-сертификат.For step-by-step instructions, see How to: Configure a Port with an SSL Certificate.

Настройка списка ожидания передачи данных по протоколу IPConfiguring the IP Listen List

API HTTP-сервера привязывается к IP-адресу и порту только после регистрации URL-адреса пользователем.The HTTP Server API only binds to an IP address and port once a user registers a URL. По умолчанию API HTTP-сервера привязывается к порту в URL-адресе для всех IP-адресов компьютера.By default, the HTTP Server API binds to the port in the URL for all of the IP addresses of the machine. Конфликт возникает, если приложение, не использующих API сервера HTTP, ранее привязалось к этому сочетанию IP-адрес и порт.A conflict arises if an application that doesn't use the HTTP Server API has previously bound to that combination of IP address and port. Список прослушивания IP позволяет службам WCF сосуществовать с приложениями, использующими порт для некоторых IP-адресов компьютера.The IP Listen List allows WCF services to coexist with applications that use a port for some of the IP addresses of the machine. Если в списке ожидания передачи данных по протоколу IP содержатся какие-либо записи, API HTTP-сервера привязывается только к IP-адресам, указанным в списке.If the IP Listen List contains any entries, the HTTP Server API only binds to those IP addresses that the list specifies. Для изменения списка ожидания передачи данных по протоколу IP требуются привилегии администратора.Modifying the IP Listen List requires administrative privileges.

Средство netsh для изменения списка ожидания передачи данных IP, как показано в следующем примере:Use the netsh tool to modify the IP Listen List, as shown in the following example:

netsh http add iplisten ipaddress=0.0.0.0:8000

Другие параметры конфигурацииOther configuration settings

При работе с привязкой WSDualHttpBinding клиентское соединение использует значения по умолчанию, совместимые с резервированием пространства имен и брандмауэром Windows.When using WSDualHttpBinding, the client connection uses defaults that are compatible with namespace reservations and the Windows firewall. При необходимости настроить базовый адрес клиента для двустороннего соединения, необходимо, кроме того, настроить эти параметры HTTP в клиенте так, чтобы они соответствовали новому адресу.If you choose to customize the client base address of a dual connection, then you also must configure these HTTP settings on the client to match the new address.

API сервера HTTP имеет некоторые дополнительные параметры конфигурации, которые не доступны через HttpCfg.The HTTP Server API has some advanced configuration settings that aren't available through HttpCfg. Эти параметры сохраняются в реестре и применяются ко всем приложениям, выполняемым в системах, которые используют API HTTP-сервера.These settings are maintained in the registry and apply to all applications running on the systems that use the HTTP Server APIs. Сведения об этих параметрах см. в разделе параметры реестра Http.sys для IIS.For information about these settings, see Http.sys registry settings for IIS. Большинство пользователей не нужно изменять эти параметры.Most users don't need to change these settings.

См. такжеSee also