我已经购买了一个可以在域和子域上运行的 SSL 证书。例如 *.example.com。
我希望此 SSL 证书在域网站和子域网站中运行。我在 IIS 7.0 中有两个不同的网站
- 示例.com
- xyz.example.com
目前 SSL 证书已分配给 xyz.example.com,并且运行良好。
现在我希望此证书也能在 example.com 网站上使用。我已添加证书,并且它已采用 https ig 443 的默认端口。现在,当我启动网站时,它会显示以下消息:
无法启动该网站。另一个网站可能正在使用同一端口。
现在,我已将 example.com 的 https ig 443 默认端口更改为 445。并尝试启动该网站,它显示以下消息:
该进程无法访问该文件,因为它正在被另一个进程使用。(来自 HRESULT 的异常:0x80070020)
你能帮助我吗?
先谢谢了
普拉纳夫
答案1
IIS 不支持基于名称的虚拟主机和 SSL。基本上,每个站点都需要一个单独的套接字 (IP+PORT)。
端口 445 几乎肯定被 Windows 文件和打印共享服务 (SMB) 使用。
将来,请考虑使用类似的命令netstat -a -n
,并在尝试将端口分配给其他东西之前验证没有任何东西在监听端口。
答案2
根据最近的公告,IIS8 将支持您所希望做的事情。
IIS 8.0 支持服务器名称指示 (SNI),它扩展了 TLS,以包括在“SSL Hello”时从客户端传递的虚拟域名。这实际上允许 IIS 8.0 为 SSL 站点启用“主机名绑定”,从而无需每个 SSL 站点都有专用的 IPv4 地址。