p.c*_*ell 5 windows-server-2003 iis-6 ssl-certificate
考虑具有多个网站的 IIS6 安装。每个都旨在成为具有自己证书(不是通配符证书)的不同子域。每个都有正确指定的主机头。
foo.example.com
- 端口 443。需要 SSL w/128 位。好好工作!它向浏览器正确呈现其 SSL 证书。为特定 IP 地址配置。
bar.example.com
- 端口 443。需要 SSL w/128 位。为所有未分配的地址配置。检查 IIS 属性页时,它会bar.example.com
在“查看证书”按钮上完整显示证书。这是一个有证书问题的新网站。它展示了 foo.example.com 的证书。哎哟!
替代文字 http://www.imagechicken.com/uploads/1251156847014486300.png
问题:是否可以在同一端口 (443) 上使用 SSL 证书在不同网站上运行多个子域?您将如何在同一端口 (443) 的同一范围内的“全部未分配”范围内配置 2 个网站?
更新:忽略证书错误,浏览到 时https://bar
,提供的内容来自https://foo
站点。
不使用 SSL 时,浏览以http://bar
提供来自bar
.
此 DMZ 服务器只分配了一个地址。
SSL 证书绑定到 Web 服务器的内部 IP 地址,而不是外部 IP 地址。
假设您已foo.example.com
绑定到Public IP A
和bar.example.com
on Public IP B
,但您的 Web 服务器只有 IP 地址 192.168.0.1
无论请求是IP A
还是IP B
,它仍然会以 192.168.0.1 结束。这意味着 IIS 只能使用分配给foo.example.com
.
要解决此问题,您需要为 Web 服务器分配多个 IP 地址。这很容易做到。与您的系统管理员联系,从 DHCP 范围中删除一些 IP(或询问他/她您可以使用哪些 IP),然后转到您的网卡属性(控制面板 > 网络连接),然后转到 TCP 的属性/IP。
您首先需要启用静态 IP(作为服务器,我希望无论如何都能完成),然后单击“高级”,然后在“IP 地址”框下单击“添加” - 并输入新的 IP 地址你已经被你的系统管理员分配了(比方说192.168.0.2
)。
然后,在您的路由器上,您需要确保来自IP A
端口 443 上的请求转到 443 端口192.168.0.1
上的所有其他请求192.168.0.2
。
然后,在您的 IIS 配置中,您需要将 SSL 证书从绑定foo.example.com
到192.168.0.1
,并将其余的绑定到192.168.0.2
(或保留为 All Unassigned,就像您一样)。
如果这不起作用,或者您已经配置了它,请更新您的问题并发表评论让我们知道。
更新:我刚刚看到您的评论,感谢您的更新。您需要确保foo.example.com
并且bar.example.com
位于两个不同的公共 IP 地址上。原因是因为数据包是加密的,所以您无法使用基于主机名的路由将请求发送到正确的 IP 地址(我相信是这种情况。如果有人知道不同,请告诉我)。路由器可见的请求的唯一部分是目标 IP。这就是为什么每个 IP 地址只能有一个 SSL。因此,您需要拥有公共 IP 才能使其工作,并且在您的 DNS 中,A 记录bar.example.com
与foo.example.com
.