首页  编辑  

IIS 7.0及以下版本如何支持多个域名的HTTPS绑定

Tags: /计算机文档/网页制作/   Date Created:
How to support multi domain https binding on a single ip server with IIS server(low than IIS 8.5)?
如何在一台机器上,同时绑定多个HTTPS证书到IIS?
理论上,IIS 8.5以下的版本是不支持多个HTTPS证书绑定到一个IP地址的。
我们可以通过中间增加一层的方式解决问题:

首先让IIS不要绑定任何HTTPS证书,也不要监听443端口。
然后我们在服务器安装一个Apache,可以去官网下载Apache。
然后修改Apache的conf的httpd.conf文件,增加类似行:
Listen 443
然后在LoadModule这些地方,找到
#LoadModule proxy_module modules/mod_proxy.so
去掉前面的#变成:
LoadModule proxy_module modules/mod_proxy.so
找到
#LoadModule proxy_http_module modules/mod_proxy_http.so
去掉# 变成 LoadModule proxy_http_module modules/mod_proxy_http.so

把LoadModule ssl_module modules/mod_ssl.so如果前面有#,也去掉#
然后修改vhost.conf文件(没有就创建一个),增加类似代码:
<VirtualHost *:443>
# 可以改成其他名字如 api.站点1.com
 ServerName www.站点1.com

 SSLEngine on
 SSLCertificateFile /path/to/站点证书.pem
 SSLCertificateKeyFile /path/to/站点证书Key文件.key
 SSLCertificateChainFile /path/to/站点证书Chain文件.pem

 ProxyPass / http://www.站点1.com/
 ProxyPassReverse / http://www.站点1.com/
</VirtualHost>
<VirtualHost *:443>
 # 或者 doc.站点1.com
 ServerName www.站点2.com

 SSLEngine on
 SSLCertificateFile /path/to/站点2.pem
 SSLCertificateKeyFile /path/to/站点2key.pem
 SSLCertificateChainFile /path/to/站点2chian.pem

 ProxyPass / http://www.站点2.com/
 ProxyPassReverse / http://www.站点2.com/
</VirtualHost>