Windows服务器上Let’s Encrypt免费SSL证书的申请和部署方法

之前写了一篇《Cloudflare解析域名和配置SSL实现全站HTTPS的教程》,用了之后发现国外线路网速还不错,但是如果是做个中文站给国内用户访问,这个网速就有点不给力了,毕竟用这个CLOUDFLARE的话得DNS切换到他们家的。

其实我们常用的DNSPOD解析对国内国外的访问速度都很不错,所以就想着能不能另辟蹊径,不改变DNS的情况下找一家免费的SSL证书机构来实现站点转向HTTPS,Let’s Encrypt的SSL证书是免费的,而且是可以部署到LINUX、WINDOWS等各种服务器上,因为就成为了首选,网络上搜搜搜,发现这个证书的申请客户端非常丰富,有些是和PLESK、宝塔等面板集成,有些么是免费版本有站点数量限制,最终找到了这个WIN-ACME方案,同时满足了:WINDOWS服务器+不变更DNS+操作方便+免费。

Let’s Encrypt 简介

Let’s Encrypt是免费、开放和自动化的证书颁发机构,由非盈利组织互联网安全研究小组(ISRG)运营,目前已经为1.8亿个网站提供TLS证书。网站地址是:https://letsencrypt.org/

本篇讲述Windows服务器上Let’s Encrypt免费SSL证书的申请和部署方法,本例具体使用的是腾讯云的Windows 2012服务器,其他Windows系列服务器情况基本一样,下面是详细教程:

一、下载WIN-ACME工具

下载地址:https://github.com/Lone-Coder/letsencrypt-win-simple/releases

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 1

下载到Windows服务器上后解压缩,打开主程序

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 2

二、申请和部署HTTPS SSL证书步骤

1、选择N,CREATE NEW CERTIFICATE(SIMPLE FOR IIS),回车。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 3

2、软件自动列出来IIS里所有运行状态的站点,选择需要部署SSL的站点,我这里是选了11号站点,回车。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 4

3、软件探测到该站点有2条域名绑定,这里选3:PICK *ALL* BINDINGS,回车。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 5

4、选择其中一个最主要的域名,我一般喜欢不带WWW(元芳,你自己看着办!),选1,回车。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 6

5、是否继续,继续输入y,回车。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 7

6、这个比较重要,输入一个常用邮箱,证书发行方会在SSL证书到期之前给你发邮件提醒,不要乱填。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 8

7、自动生成了一份用户协议,直接y,回车。会自动浏览器去打开这个PDF给你看看。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 9

8、问你是否同意此协议,y,回车。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 10

9、申请和部分详细运行过程,看到这个就说明成功了,有显示证书的相关信息,最后输入Q,回车退出。

由于Let’s Encrypt免费SSL证书只有90天的有效期,过期需要更新,该程序会生成一个计划任务,每天上午9点钟运行检查过期的证书并更新。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 11

生成的计划任务的执行程序的默认位置就是WIN-ACME软件的路径,本例的位置是:C:\win-acme.v2.1.5.742.x64.pluggable\wacs.exe,请到控制面板=>管理工具=>任务计划程序中查看相应任务属性,确认启动程序的路径对不对,如果移动到其它地方了也需要进行相应修改,否则会执行失败!

10、打开IIS,找到该站的SSL设置,确保不勾选SSL,客户证书选择忽略,我们把HTTP到HTTPS的强制转换交给HTACCESS。

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 12

 

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 13

11、HTACCESS添加如下语句,实现HTTP到HTTPS的301跳转,具体代码如下:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]

Windows服务器上Let's Encrypt免费SSL证书的申请和部署方法 - 14

如此,便实现了WINDOWS服务器上申请和部署免费SSL证书,实现全站HTTPS。不需要改DNS,而且免费!

 

 

发表评论

您的电子邮箱地址不会被公开。