如何让一台IIS服务器实现多个网站https访问

270

我们知道在早期的SSL证书设计的时候默认认为一台服务器只能提供一种服务。或者说一个IP只能提供一种服务。但是后来随着虚拟机的发展,一台服务器上往往承载了很多个网站,这就导致了一台VPS只能让一个网站实现https访问这种尴尬。

好在SNI(Server Name Indication)定义在RFC 4366,改善了SSL/TLS的传输,使得在客户端发起https握手请求的时候,允许服务器根据相应的域名返回对应的证书。

温馨提示:以下操作均在Windows Server 2012 +IIS8环境下的操作。其他环境请自行测试。

1、打开注册表:Win+R组合键打开运行,输入“regedit”。

如何让一台IIS服务器实现多个网站https访问

2、找到注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslSniBindingInfo,将注册表值改为2。

3、重启IIS服务。

4、安装SSL证书。可以参考《在IIS服务器上安装https证书》。

5、将SSL证书与不同的网站进行绑定。请看截图

如何让一台IIS服务器实现多个网站https访问

找到想要绑定证书的网站,点击“SSL设置”,点击“绑定”。弹出如下窗口。

如何让一台IIS服务器实现多个网站https访问

点击“编辑”,选择“https”,输入IP地址,绑定的域名,钩住下面的勾,选择对应的证书,点击确定即可。这一步很关键,主要是将SSL证书与域名进行绑定。用户通过域名访问的时候就会返回对应的证书了,所以一个服务器就可以实现不同的网站绑定不同的证书,这样多个网站就可以同时通过https进行访问了。