IIS下具有SSL的多个子域

Dan*_*ola 19 iis subdomain ssl https

我目前需要在SSL下的同一个域下拥有2个子域.
这两个子域(www和affiliate)位于同一个IIS服务器上,位于相同的IP下,并且每个子域都指定了主机头值(www.mydomain.com和affiliate.mydomain.com)

默认情况下,第一个子域(www)运行良好,有和没有SSL.
第二个子域在HTTP下工作得很好.

问题是我刚购买并安装了联盟子域的SSL证书,当你转到https://affiliate.mydomain.com时,你会被重定向到http://www.mydomain.com

我猜这个问题在于我无法为SSL指定主机头值?(我通常设置主机头值的对话框底部没有该选项,专用于SSL).

我该怎么办?我应该在单独的IP中使用每个子域吗?这根本不可行吗?

谢谢!丹尼尔

Gre*_*ean 17

"我猜这个问题在于我无法为SSL指定主机头值"

你猜对了.您将需要两个IP地址.


eri*_*son 10

这个问题是HTTPS工作方式的基础.

虚拟主机依赖于HTTP/1.1中引入的"主机"标头.这是HTTP协议的一部分,但从SSL协议的角度来看,HTTP层是"应用程序数据",并且在SSL握手完成之前无法传输.

但是,握手期间会显示服务器证书.HTTP服务器尚未看到"主机"标头,因此它不知道要发送哪个证书.使用不同的IP地址有效,因为它在SSL下面的IP层可见.


更新:有一个新的TLS扩展,允许客户端指示他们打算在握手期间使用的服务器.有关更多信息,请参阅dlongley的答案.


Jon*_*ice 5

我不确定您正在运行什么Web服务器,但在Windows Server 2003上的IIS 6中,您可以使用SSL站点的主机头,从而允许它们位于相同的IP地址上.

http:// www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/596b9108-b1a7-494d-885d-f8941b07554c.mspx?mfr=true

编辑:这仅在证书是通配符证书时才有效.否则,子域"affiliate"将尝试使用与子域"www"相同的证书,并且访问者将收到警告.