기본 바인딩 <바인딩 추가>
개요
<binding>
요소의 <bindings>
요소를 사용하면 요청이 웹 사이트와 통신하는 데 필요한 정보를 구성할 수 있습니다.
웹 사이트를 만들 때 바인딩 정보를 구성하거나 사이트를 만든 후 바인딩 정보를 편집할 수 있습니다. 바인딩 정보에는 클라이언트가 사이트와 통신하는 데 사용하는 프로토콜, 사이트의 IP 주소, 포트 번호 및 호스트 헤더가 포함됩니다.
요소 <binding>
에는 바인딩 정보를 구성하는 두 가지 특성인 bindingInformation 및 프로토콜이 포함됩니다. bindingInformation 특성에는 IP 주소, 포트 번호 및 선택적으로 사이트의 호스트 헤더가 포함됩니다. 프로토콜 특성은 사이트와 통신하는 데 사용할 프로토콜을 정의합니다.
호환성
버전 | 주의 |
---|---|
IIS 10.0 | <binding> IIS 10.0에서 요소가 수정되지 않았습니다. |
IIS 8.5 | <binding> IIS 8.5에서 요소가 수정되지 않았습니다. |
IIS 8.0 | sslFlags 보안 소켓 계층 인증서에 사용되는 바인딩을 지정하기 위해 특성이 추가되었습니다. |
IIS 7.5 | <binding> IIS 7.5에서는 요소가 수정되지 않았습니다. |
IIS 7.0 | <binding> 컬렉션의 <bindings> 요소는 IIS 7.0에서 도입되었습니다. |
IIS 6.0 | 이 컬렉션은 <bindings> IIS 6.0 IIsWebServer 메타베이스 개체의 ServerBindings 속성 섹션을 대체합니다. |
설정
요소는 <binding>
IIS 7 이상의 기본 설치에 포함됩니다.
방법
서버에 기본 바인딩 정보를 추가하는 방법
IIS(open 인터넷 정보 서비스) 관리자:
Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:
- 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 인터넷 정보 서비스(IIS) 관리자를 클릭합니다.
Windows 8 또는 Windows 8.1을 사용하는 경우:
- Windows 키를 누른 상태로 문자 X를 누른 다음 제어판 클릭합니다.
- 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 인터넷 정보 서비스(IIS) 관리자를 클릭합니다.
Windows Vista 또는 Windows 7을 사용하는 경우:
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
연결 창에서 서버 이름을 선택합니다.
홈 창에서 구성 편집기를 두 번 클릭합니다.
섹션의 system.applicationHost/sites로 이동합니다.
사이트 바인딩 대화 상자에서 추가...를 클릭합니다.
siteDefaults를 확장 합니다.
바인딩을 선택한 다음 오른쪽의 줄임표를 클릭하여 컬렉션 편집기를 엽니다.
추가를 클릭하고 bindingInformation, 프로토콜 및 sslFlags 값을 입력합니다.
컬렉션 편집기를 닫고 작업 창에서 적용을 클릭합니다.
구성
ApplicationHost.config 파일의 섹션에 <siteDefaults>
있는 요소 내에 <bindings>
기본 <binding>
요소를 추가할 수 있습니다.
attribute | 설명 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bindingInformation |
필수 문자열 특성입니다. 사이트와 통신할 정보를 지정합니다. 예를 들어 웹 사이트 바인딩에는 IP 주소(또는 지정되지 않은 IP 주소), 포트 번호 및 사이트와 통신하는 데 사용되는 선택적 호스트 헤더가 포함됩니다. |
||||||||||||||||||
protocol |
필수 문자열 특성입니다. 사이트와 통신하기 위한 프로토콜을 지정합니다. |
||||||||||||||||||
sslFlags |
다음과 같은 가능한 플래그를 사용하여 플래그 유형과 같이 작동하는 선택적 uint 특성입니다.
SNI(서버 이름 표시기)를 사용하면 호스트 이름이 SSL 핸드셰이크의 일부로 교환됩니다. SNI는 HTTPS 형식의 바인딩을 추가할 때 사이트 바인딩 추가 대화 상자에서 사용하도록 설정됩니다. 이는 단일 네트워크 주소에서 여러 서버를 호스트하는 SSL 연결에 유용합니다. 4보다 큰 값은 IIS 10 버전 1809 이상에서만 지원됩니다. 기본값은 0 입니다. |
자식 요소
없음
구성 샘플
다음 구성 샘플은 IIS 7에 대한 기본 bindings
옵션을 지정합니다.
<system.applicationHost>
<sites>
<siteDefaults>
<bindings>
<binding protocol="http" bindingInformation="127.0.0.1:8080:" />
</bindings>
</siteDefaults>
</sites>
</system.applicationHost>
예제 코드
다음 코드 샘플은 IIS 7에 대한 기본 bindings
옵션을 구성합니다.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.bindings.[protocol='http',bindingInformation='*:8080:contoso.com'].bindingInformation:"127.0.0.1:8080:" /commit:apphost
참고 항목
AppCmd.exe 사용하여 이러한 설정을 구성할 때 커밋 매개 변수 apphost
를 설정해야 합니다. 그러면 ApplicationHost.config 파일의 적절한 위치 섹션에 구성 설정이 커밋됩니다.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
ConfigurationElementCollection bindingsCollection = siteDefaultsElement.GetCollection("bindings");
ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
bindingElement["protocol"] = @"http";
bindingElement["bindingInformation"] = @"127.0.0.1:8080:";
bindingsCollection.Add(bindingElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
Dim bindingsCollection As ConfigurationElementCollection = siteDefaultsElement.GetCollection("bindings")
Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
bindingElement("protocol") = "http"
bindingElement("bindingInformation") = "127.0.0.1:8080:"
bindingsCollection.Add(bindingElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:";
bindingsCollection.AddElement(bindingElement);
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:"
bindingsCollection.AddElement(bindingElement)
adminManager.CommitChanges()