如何在同一台服务器上的不同站点使用不同的SSL证书

最近我在和朋友研究网站部署https访问时遇到这样一种场景:我们两人共用一台阿里云的服务器,在这台服务器上分别部署着各自的网站,我们都申请了自己网站域名对应的腾讯云的免费版域名型SSL证书,但在给网站绑定SSL证书时,发现只有一个网站能实现https安全访问,经过一番研究,终于找到了解决方案,为了使跟我们遇到同样问题的朋友们能少走一些弯路,现在我把我使用的方法给大家介绍一下,希望对大家有一些帮助。
经过一番搜索,我们在阿里云的帮助文档中找到了解决方案,阿里云提供了以下解决方案原文请参考这里

  1. 将每个https站点绑定到不同的端口。但是这样的话客户端浏览网页时必须手动指定端口,例如 https://site.domain.com:444;
  2. 为每个站点分配一个独立的ip,这样冲突就解决了,甚至主机头也不用添加了;
  3. 使用通配证书;
  4. 升级为IIS8,IIS8中添加的对于SNI(Server Name Indication)的支持,服务器可以从请求中提取出相应的主机头从而找到相应的证书。
    方案分析:方案1明显不太现实,我们不能让用户在访问我们的网站时还要指定端口号,一来不太好记,二来用户体验不好;方案2虽然可行,但由于我们使用的是阿里云的服务器,是固定IP,没办法再给服务器再分配一个IP,故该方案不适合我们的场景;方案3虽然可行,但我们使用的是域名型SSL证书,而且要购买通配型SSL证书的话,价格也比较贵,故该方案不适合我们的场景;方案4,我们使用的服务器安装的操作系统是Windows Server 2012R2,而该系统预装的就是IIS8,不是IIS8的可以自行升级为IIS8,在IIS8中,因为添加了对SNI的支持(具体概念及原理,读者可自行查阅相关资料,这里就不多说),所以可以很方便的解决我们所面临的问题。
    现在就方案4做一下具体使用说明:
  5. 安装服务器证书,进入IIS,点击主机名,选择服务器证书,如下图,
    这里写图片描述
    2.点击右侧导入,如下图,
    这里写图片描述
    3.选择自己的证书文件,确定即可;
    4.给自己的网站绑定相应的SSL证书:从IIS网站中选择自己的网站,右键,编辑绑定,出现下图,
    这里写图片描述
    5.添加网站绑定,如下图
    这里写图片描述
    注意:类型选择https,端口号输入443,主机名填写自己的域名,“需要服务器名称只指示”前面的勾选框必须勾选,这个是解决问题的关键,SSL证书选择自己网站的证书(这里的选项是之前导入的证书);
    6.确定后,该网站SSL证书绑定成功,可以使用https访问该网站,同样的方式,你需要配置另外一个网站(PS:除过主机名和SSL证书不一样外,其他配置都是一样的);
    7.至此,两个网站都已配置成可以使用https访问;
    8.测试是否成功:浏览器地址栏输入你要访问的地址:如https://www.domain.com,
    如果浏览器中两个网站地址栏呈现类似以下状态,则配置成功:

    这里写图片描述

    如果一步一步操作到这里,那么恭喜你,你已经解决了这个问题。PS:关于这个问题的解决方案,读者还可参考该网址Host Different SSL’s on one IP with IIS 8 SNI

  • 5
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 3

打赏作者

行走在进与退之间

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值