IIS使用Let’s Encrypt证书部署HTTPS站点

作者: boris 分类: 技术文章 发布时间: 2017-09-12 17:51

Let’s Encrypt(https://letsencrypt.org )是可以签发免费SSL/TLS证书的CA机构,它是为普及HTTPS而发起的,推动了基础DV SSL证书的普及。其证书已经被Mozilla、Google、Microsoft和Apple等主流浏览器支持,只需要web服务器配置好HTTPS证书,浏览器会在加载时验证web服务器HTTPS证书是否有效。
使用Let’s Encrypt一个很重要的理由是免费,避免ISP劫持;还有申请速度快、无需注册账户等优点。在对比了众多免费CA后,Let’s Encrypt是比较方便和理想的,它提供了基础DV SSL证书,只提供了数据加密;不验证身份,无法向用户证明网站的所有者。但即使这样也满足了基本需要了。

不推荐使用沃通 (WoSign)证书。

PS:
目前主流的SSL证书主要分为DV SSL、OV SSL、EV SSL。

DV SSL
最简易,只提供数据加密功能,不验证身份。目前免费SSL证书都是这个类型。
OV SSL
提供加密功能,会验证身份,可信度更高。收费。
EV SSL
安全级别、可信度最高的SSL证书,用于金融证券、银行、网上支付网站,强调网站安全和企业形象。收费最贵。

Let’s Encrypt工具有很多,不同的平台使用不同的工具和方法。windows平台推荐使用letsencrypt-win-simple(https://github.com/Lone-Coder/letsencrypt-win-simple/releases )申请证书,简单快速。
下面是实践中,windows server使用letsencrypt-win-simple客户端部署HTTPS。部署中碰到的问题和解决方案放在了文章末尾。

1.准备工作

1.1 设置DNS

在DNS服务器设置正确的域名(二级域名、三级域名都可以)

1.2 下载运行letsencrypt-win-simple:

下载最新版本letsencrypt-win-simple(https://github.com/Lone-Coder/letsencrypt-win-simple/releases )
在服务器上解压letsencrypt-win-simple,解压后文件结构如下:

letsencrypt-win-simple.V1.9.1文件结构
1.3 letsencrypt-win-simple运行环境

双击letsencrypt.exe,运行需要.NET运行环境,点击安装就可以了:

安装
2.IIS部署HTTPS站点

2.1 自动化认证单个域名

在服务器上,终端cd到letsencrypt.exe文件夹,键入如下命令:

letsencrypt.exe —accepttos —manualhost pre.YourDomain.com —webroot D:\ssl.api.MyHost.com
使用webroot方式申请证书
Let’s Encrypt服务器会访问命令中的服务器路径,用于验证这个网站是否属于你,成功后会生成临时的认证文件。

出现如下文字说明成功了:

申请成功
会将公钥和私钥放在C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple下,这个路径会在Nginx部署时用到。

这个过程中,如果验证不通过,是因为IIS需要修改配置,具体见附录-问题一。

2.2 部署HTTPS站点:

在Windows Server上增加站点:

添加网站
3.附录:

3.1 出现的问题一:

问题1
出现这个错误表示生成的这个临时文件访问不到,验证不通过。
原因是因为.well-know这个文件夹带了前缀 . ,IIS会认为是不可识别的 MIMEType ,只需要在网站根目录下临时加上 MIMEType 配置即可:

IIS上新增MIME Type方法:

MIME Type
3.2 出现的问题二:

问题2

这是域名问题,域名输错或者设置错误,需要重新检查输入的命令。

作者:sxtra
链接:http://www.jianshu.com/p/92e574123244
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发表评论

电子邮件地址不会被公开。 必填项已用*标注