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

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

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

PS:
目前主流的SSL证书主要分为DV SSLOV SSLEV 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,解压后文件结构如下:

IIS使用Let’s Encrypt证书部署HTTPS站点_第1张图片
letsencrypt-win-simple.V1.9.1文件结构

1.3 letsencrypt-win-simple运行环境

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

IIS使用Let’s Encrypt证书部署HTTPS站点_第2张图片
安装

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服务器会访问命令中的服务器路径,用于验证这个网站是否属于你,成功后会生成临时的认证文件。

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

IIS使用Let’s Encrypt证书部署HTTPS站点_第3张图片
申请成功

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

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

2.2 部署HTTPS站点:

在Windows Server上增加站点:


IIS使用Let’s Encrypt证书部署HTTPS站点_第4张图片
添加网站

3.附录:

3.1 出现的问题一:

IIS使用Let’s Encrypt证书部署HTTPS站点_第5张图片
问题1

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

IIS上新增MIME Type方法:


IIS使用Let’s Encrypt证书部署HTTPS站点_第6张图片
MIME Type

3.2 出现的问题二:

IIS使用Let’s Encrypt证书部署HTTPS站点_第7张图片
问题2

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

你可能感兴趣的:(IIS使用Let’s Encrypt证书部署HTTPS站点)