申请免费通配符证书(Let's Encrypt)并绑定IIS

什么是 Let’s Encrypt?

部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用。

Let’s Encrypt 也是一个 CA 机构,但这个 CA 机构是免费的!!!也就是说签发证书不需要任何费用。

什么是通配符证书

在没有出现通配符证书之前,Let’s Encrypt 支持两种证书。

1)单域名证书:证书仅仅包含一个主机。

2)SAN 证书:一张证书可以包括多个主机(Let’s Encrypt 限制是 20)

证书包含的主机可以不是同一个注册域,不要问我注册域是什么?注册域就是向域名注册商购买的域名。

对于个人用户来说,由于主机并不是太多,所以使用 SAN 证书完全没有问题,但是对于大公司来说有一些问题:

  • 子域名非常多,而且过一段时间可能就要使用一个新的主机。
  • 注册域也非常多。

读者可以思考下,对于大企业来说,SAN 证书可能并不能满足需求,类似于 sina 这样的网站,所有的主机全部包含在一张证书中,而使用 Let’s Encrypt 证书是无法满足的。

Let’s Encrypt 通配符证书

通配符证书就是证书中可以包含一个通配符,比如 .example.com、.example.cn,读者很快明白,大型企业也可以使用通配符证书了,一张证书可以防止更多的主机了。

这个功能可以说非常重要,从功能上看 Let’s Encrypt 和传统 CA 机构没有什么区别了,会不会触动传统 CA 机构的利益呢?

如何申请 Let’s Encrypt 通配符证书

为了实现通配符证书,Let’s Encrypt 对 ACME 协议的实现进行了升级,只有 v2 协议才能支持通配符证书。

也就是说任何客户端只要支持 ACME v2 版本,就可以申请通配符证书了,是不是很激动。

官方介绍 Certbot 0.22.0 版本支持新的协议版本

在了解该协议之前有几个注意点:

1)客户在申请 Let’s Encrypt 证书的时候,需要校验域名的所有权,证明操作者有权利为该域名申请证书,目前支持三种验证方式:

  • dns-01:给域名添加一个 DNS TXT 记录。
  • http-01:在域名对应的 Web 服务器下放置一个 HTTP well-known URL 资源文件。
  • tls-sni-01:在域名对应的 Web 服务器下放置一个 HTTPS well-known URL 资源文件。

而申请通配符证书,只能使用 dns-01 的方式

安装Windows Ubuntu Bash

申请免费通配符证书(Let's Encrypt)并绑定IIS_第1张图片

打开控制面板\所有控制面板项\程序和功能,点击左边的“启用/关闭Windows功能”
选择上“适用于Linux的Windows子系统”后点“确定”安装相关功能
申请免费通配符证书(Let's Encrypt)并绑定IIS_第2张图片

然后打开“应用商店”Microsoft Store
搜索“Linux"会出现”在Windows上运行Linux的专题。
列出来的Linux子系统都是Windows10支持的Bash,
本人安装的是Ubuntu
申请免费通配符证书(Let's Encrypt)并绑定IIS_第3张图片

安装后会在菜单里显示Ubuntu的启动项,第一次运行的时候,会要求设置一下管理员的相关密码
按提示设置就可以了
然后从菜单启动,就会看到熟悉的Ubuntu控制台了
我们用sudo lsb_release -a就可以看到当前安装的Ubuntu版本了

Giant@Giant:~$ sudo lsb_release -a
[sudo] password for Giant:
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial
接下来我们开始在这个Ubuntu Bash里通过Certbot申请Let's Encrypt通配符证书
首先安装Certbot

你可能感兴趣的:(Web,Let's,Encrypt,HTTPS,通配符证书,IIS)