HTTP 및 HTTPS 구성Configuring 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 아래에서 호스팅되거나 IIS에서 inetmgr.exe 도구를 사용하여 HTTP 또는 HTTPS 설정을 구성할 수 있는 경우입니다.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

네임스페이스 예약은 HTTP URL 네임스페이스 일부에 대한 권한을 특정 사용자 그룹에 할당합니다.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. HTTP 서버 API 설명서는 와일드 카드를 포함 하는 네임 스페이스 클레임 간의 확인 순서를 설명 합니다.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 /? 명령 프롬프트에을 입력 하 고 enter 키를 누릅니다.For more information on using the netsh command, type netsh http add urlacl /? in a command-prompt and press Enter.

방화벽 예외 구성Configuring a firewall exception

HTTP에서 통신하는 WCF 서비스를 자체 호스팅하는 경우 특정 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(Secure Sockets Layer) 프로토콜은 클라이언트 및 서버에서 인증서를 사용하여 암호화 키를 저장합니다.The Secure Sockets Layer (SSL) protocol uses certificates on the client and server to store encryption keys. 서버는 클라이언트가 서버 ID를 확인할 수 있도록 연결된 경우 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.

IP 수신 대기 목록 구성Configuring the IP Listen List

사용자가 URL을 등록하면 HTTP Server API는 IP 주소 및 포트에만 바인딩됩니다.The HTTP Server API only binds to an IP address and port once a user registers a URL. 기본적으로 HTTP Server API는 모든 시스템 IP 주소에 대한 URL의 포트에 바인딩됩니다.By default, the HTTP Server API binds to the port in the URL for all of the IP addresses of the machine. HTTP 서버 API를 사용 하지 않는 응용 프로그램이 이전에 해당 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 수신 대기 목록에 항목이 포함된 경우 HTTP Server API는 목록에서 지정한 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.

HTTP 서버 API에는 Httpcfg.exe를 통해 사용할 수 없는 일부 고급 구성 설정이 있습니다.The HTTP Server API has some advanced configuration settings that aren't available through HttpCfg. 이러한 설정은 레지스트리에 유지되며 HTTP Server API를 사용하는 시스템에서 실행되는 모든 애플리케이션에 적용됩니다.These settings are maintained in the registry and apply to all applications running on the systems that use the HTTP Server APIs. 이러한 설정에 대 한 자세한 내용은 IIS에 대 한 레지스트리 설정Http.sys을 참조 하세요.For information about these settings, see Http.sys registry settings for IIS. 대부분의 사용자는 이러한 설정을 변경할 필요가 없습니다.Most users don't need to change these settings.

참고 항목See also