Configure a Host Header for a Web Site (IIS 7)
Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista
Host headers (also known as domain names or host names) let you assign more than one site to a single IP address on a Web server.
Note
Host headers work for HTTP 1.1-compliant browsers (Internet Explorer 3.x and later, or Netscape Navigator 3.x and later).
To host more than one Web site on a Web server, you can assign a unique IP address to each Web site, designate a non-standard TCP port number for a Web site, or use host headers. Of the three methods, it is more common to use host headers than to assign unique IP addresses to Web sites or to use non-standard TCP port numbers.
Note
After you configure a host header or multiple host headers for an IP address, you must register the host headers with the appropriate name resolution system. If your computer is on an intranet, register the host header name or names with the intranet's name resolution system. If your computer is on the Internet, register the host header name or names with the Domain Name System (DNS), which is administered by InterNic.
Prerequisites
For information about the levels at which you can perform this procedure, and the modules, handlers, and permissions that are required to perform this procedure, see Sites Feature Requirements (IIS 7).
Exceptions to feature requirements
- None
To configure a host header for a site
You can perform this procedure by using the user interface (UI), by running Appcmd.exe commands in a command-line window, by editing configuration files directly, or by writing WMI scripts.
User Interface
To use the UI
Open IIS Manager. For information about opening IIS Manager, see Open IIS Manager (IIS 7).
In the Connections pane, expand the Sites node in the tree, and then select the site for which you want to configure a host header.
In the Actions pane, click Bindings.
In the Site Bindings dialog box, select the binding for which you want to add a host header and then click Edit or click Add to add a new binding with a host header.
In the Host name box, type a host header for the site, such as www.contoso.com.
Click OK.
To add an additional host header, create a new binding with the same IP address and port, and the new host header. Repeat for each host header that you want to use this IP address and port.
Command Line
To add a host header to a Web site's binding, use the following syntax:
**appcmd set site /site.name:**string **/bindings.[protocol='string',bindingInformation='string'].bindingInformation:**string
The variable site.name string is name of the site to which you want to add a host header. The variable [protocol='string',bindingInformation='string'] is the existing binding to which you want to add a host header, and bindingInformation string is the new binding with host header.
For example, to configure a site named contoso with an existing HTTPS binding for all IP addresses, on port 443, without a host header to have a host header named marketing, type the following at the command prompt, and then press ENTER:
appcmd set site /site.name:contoso /bindings.[protocol='https',bindingInformation='*:443:'].bindingInformation:*:443:marketing
For more information about Appcmd.exe, see Appcmd.exe (IIS 7).
Configuration
The procedure in this topic affects the following configuration elements:
<bindings> under <site> element
For more information about IIS 7 configuration, see IIS 7.0: IIS Settings Schema on MSDN.
WMI
Use the following WMI classes, methods, or properties to perform this procedure:
Site.Bindings property
BindingElement.BindingInformation property
For more information about WMI and IIS, see Windows Management Instrumentation (WMI) in IIS 7. For more information about the classes, methods, or properties associated with this procedure, see the IIS WMI Provider Reference on the MSDN site.