In IIS (as with other web servers) there are three key identifiers that identify your site for incoming requests:
- IP address
- TCP port
- Host header
If you are running multiple websites on a single web server at least one of those three must be different for each site. In many environments, a server is only given a single IP address, so that then leaves the TCP port and host header that can be changed. It is possible to run an https website on a different port, you just have to specify the port in the URL which is not always desirable (this would look something like https://www.foo.com:32000/index.html). More often than not, you want to run all of your websites on port 80 (http) or 443 (https) so that you end up with clean URLs. That then leaves the host header as the one item that you want to change.
In IIS, you can have multiple sites on the same IP/port combination that use SSL and host headers. The key is that you need to use either a wildcard certificate or a SAN (Subject Alternative Names) certificate that specifies multiple host names in the certificate itself. You cannot set the host header bindings for host headers on an SSL site in the IIS Manager UI. You have to either do it via command line or manually edit the applicationHost.config file on the server.
Information from Technet on setting this via command line can be found here.
There was a post on the IIS Forum with a similar issue to this as well which can be found here.
After running the command or manually editing the config file, your applicationHost.config file might look similar to this:
<site name="first.mycompany.com" id="10">
<binding protocol="http" bindingInformation="192.168.10.100:80:first.mycompany.com" />
<binding protocol="https" bindingInformation="192.168.10.100:443:first.mycompany.com" />
<site name="second.mycompany.com" id="11">
<binding protocol="http" bindingInformation="192.168.10.100:80:second.mycompany.com" />
<binding protocol="https" bindingInformation="192.168.10.100:443:second.mycompany.com" />
You will then see the bindings in IIS manager. Hope that helps.
The above information assumed this issue was related to IIS7. If it is for IIS6, there is a different procedure to follow. Information about that can be found here.