购买商用ssl证书并在windows服务器IIS上配置https域名(案例为阿里云)的完整流程及解决无法建立安全连接的若干问题

阿里云、华为云等各路云都有ssl证书购买,价格相差不大,操作也都差不多,请自行选择。
本文以阿里云操作为案例。

在这里插入图片描述

购买SSL证书

点击购买

在这里插入图片描述

付款买入

注意,如果自己搞起来有问题,阿里购买的时候建议选择申请协助服务。购买该服务后,付款后将出现一个钉钉的二维码,扫描后就可以加入一个临时群,所有问题都可以通过该群解决,比较方便。

在这里插入图片描述

协助服务

如果买了协助服务,那么有如下提示
在这里插入图片描述

审核

审核提示邮件

购买成功后将会收到如下邮件,根据要求完成三件事。

1.根据邮件增加域名dns

2. 保证电话畅通。

3. 回复邮件

在这里插入图片描述

保持沟通

如果阿里云方式购买了服务,那么请全程沟通,很快就能完成了。

下载证书

审核完毕后就会在后台看到状态为 已签发

点击下载

在这里插入图片描述

下载符合自己服务器的证书

在这里插入图片描述

压缩包内容

以IIS为例,压缩包内含有一个密码和一个证书文件,安装时都会用到。
在这里插入图片描述

安装证书

方法一:IIS安装证书

打开IIS选择服务器证书

在这里插入图片描述

导入证书

选中.pfx证书文件
在这里插入图片描述

输入密码

这里的密码就是压缩包中自带的
在这里插入图片描述

导入成功

在这里插入图片描述

问题

本方法有可能出现缺少中间证书的提示
在这里插入图片描述
那么就需要用下面的方法二加入中间证书,所以这种情况不如直接用第二种~~嘎嘎。

方法二:系统安装证书

打开控制台

在运行中输入mmc
在这里插入图片描述

添加单元

在这里插入图片描述

增加证书单元

在这里插入图片描述
在这里插入图片描述

选择导入

在这里插入图片描述

选中pfx文件

在这里插入图片描述

输入密码

在这里插入图片描述

自动选择

在这里插入图片描述

成功

在这里插入图片描述

配置https域名

添加https域名

在这里插入图片描述

配置完成

在这里插入图片描述

问题

1. ngix正常使用证书,iis无法使用

  1. 出错提示

    • chrome出现该错误
      在这里插入图片描述

    • firefox出现该错误
      在这里插入图片描述

  2. 重配ssl相关协议、加密套件等
    这是iis缺少相关证书或配置。
    软件下载:《数字证书管理:修复服务器安装ssl证书后iis无法正常使用https》

  • 我的实际情况是因为当年根据等保要求,很多安全内容被修改过,因此无法正常激活https。
  • 使用最佳配置的时候,可以考虑取消 Triple DES 168/168 ,开启 MD5MD5可不开启) 。因为开启DES,可能在安全审核的时候出现警告SSL/TLS协议信息泄露漏洞(CVE-2016-2183),参考:Windows下修复SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
    在这里插入图片描述
  • (20240726)经过这半年使用,建议配置如下:
    • 安全协议仅保留TLS1.2
    • 加密套件和哈希算法如图
    • SSL加密套件仅保留图中内容
    • 这套配置是经过几次漏洞扫描安全评估后的选择。
    • 重点就是不能使用早期的ssl协议和套件,当然也不能乱删,因为可能堡垒机需要使用,具体情况根据实际需要选择。
      在这里插入图片描述
      在这里插入图片描述

2. 提示"ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY"错误

在这里插入图片描述

  1. 造成问题的原因
    windows server2016默认会开启http2,而http2会启用一些不安全的加密套件,可能导致问题。

之前因为服务器某些协议还开通,所以勉强能用,但后来根据安全要求禁用某些协议和套件后(参考上面ITrusIIS 20240726的最新要求调整),这个问题就暴露出来了。

  1. 打开注册表 regedit
    找到 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters] 位置

  2. 新建 EnableHttp2TlsEnableHttp2Cleartext,其它不用改。
    在这里插入图片描述

    • “EnableHttp2Tls”=dword:00000000
    • “EnableHttp2Cleartext”=dword:00000000
      在这里插入图片描述
  3. 完成后重启服务器即可
    在这里插入图片描述

参考:《服务器2016 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

3. 所有web服务都提示安全性不够

  1. 先排除是服务器上的设置问题,iis参考上一条,nginx参考:
    《nginx 的 HTTPS 安全配置及 TLS 1.3 踩坑》

  2. 排除之后,那基本就剩浏览器本身的设置问题了,参考阿里云的提示
    《如何解决SSL证书部署后未生效或网站显示不安全》
    在这里插入图片描述

4. 自动跳转https

大部分浏览器都会自动跳转,但是微信如果是通过点击http://xxx.com进入的,那么大概率不会自动跳转。两种解决办法:

<rewrite>
  <rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
    </rule>
  </rules>
</rewrite>

参考:
阿里官方:在IIS服务器安装SSL证书
阿里官方:如何解决SSL证书部署后未生效或网站显示不安全
IIS 部署 SSL 证书提示证书链中的一个或多个中间证书丢失
IIS10服务器安装SSL证书的图文教程
Web应用的域名与SSL证书绑定之后通过Chrome浏览器使用域名访问网站失败
IIS安装SSL证书,谷歌浏览器无法访问,err_connection_closed,err_connection_reset

猜你喜欢

转载自blog.csdn.net/snans/article/details/138905743