我有一个 IIS 6 机箱(Win2k3 SP2),上面托管了多个开发网站。我目前有一个网站需要 SSL,现在我要添加第二个网站。第一个网站已绑定到机器的 IP,192.168.1.250
并且运行正常。我已经添加了第二个网站,将其添加到192.168.1.251
机器的有效 IP 列表中,并将第二个网站绑定到该 IP,但现在我陷入了困境。
我们只有一个公共 IP,并且我们的路由器(正在运行DD-WRT v24-sp1
)正在将所有传入请求重定向到第一个 IP 地址的端口 80/443,所以我现在无法通过 SSL 让人们访问第二个站点。
所以我想我只需要确认我必须做些不同的事情。从我们的 ISP 获取第二个 IP 不是一个选择(他们想要太多,而且需要很长时间才能完成任何事情)。通配符证书是可行的路线吗?我可以用 openssl 创建一个吗?(我不介意浏览器警告。)
答案1
您应该能够在一台服务器上托管两个站点。只需将第二个站点添加到 IIS,为其分配站点名称和 SSL 证书,并将两个 A 记录分配给同一个 IP。您只能通过主机名浏览它,但 SSL 无论如何都需要有效的主机名。
编辑:不过,您必须为此获得一个通配符。它们至少相对便宜。如果您使用 OpenSSL 进行自我签名,以下是如何创建通配符 SSL 证书:http://www.justinsamuel.com/2006/03/11/howto-create-a-self-signed-wildcard-ssl-certificate/
答案2
您可以更改第二个 SSL 站点的端口,或者您需要使用 TLS,但除此之外您还需要第二个 IP。
答案3
要使用单个 IP,您需要使用通配符 SSL,但要做到这一点,您需要使用可以充当 SSL 端点的反向代理,它可以将一个域的请求发送回其 SSL 站点,将另一个域的请求发送回其网站
为了能够正确执行 SSL,您仍然需要 2 个 IP 地址,因为据我所知,没有任何服务器可以执行基于名称的 SSL 虚拟主机,因为名称标头是在 SSL 协商之后协商的