文:铁乐猫

2017年1月12日

申请Let's Encrypt颁发SSL证书

由 ISRG(Internet Security Research Group,互联网安全研究小组)提供服务, ISRG 来自于美国加利福尼亚州的一个公益组织。Let's Encrypt 得到了 Mozilla、Cisco、Akamai、Electronic Frontier Foundation 和 Chrome 等众多公司和机构的支持,发展十分迅猛。

对于域名所有权的验证,支持两种方式:放置临时文件进行验证、查询 whois 给域名所有人发邮件验证

需要注意的是它一次只会颁发3个月有效期的证书,到期之后需要自己再续上 (仍然是免费的),维护起来比较麻烦,不过可以使用工具去自动续期。 另外它不支持通配符泛域名 (*.demo.com),所以在申请认证的时候,要把域名都 301 跳转到证书里包含的域名上,不然浏览器会弹证书错误。

windows在Let's Encrypt获取证书,也就是IIS的站点获取SSL证书,一般使用certify这个自动化工具会方便很多。

另外常见的一种就是用工具 letsencrypt-win-simple

下载最新版 letsencrypt-win-simple:

链接不好找:https://github.com/Lone-Coder/letsencrypt-win-simple/releases

最新版是:letsencrypt-win-simple.V1.9.1.zip。在服务器解压 letsencrypt-win-simple.V1.9.1 ,解压后运行lessencrypt.exe。

会弹出一个cmd窗口,第一次运行会让你先填一个邮箱地址。用于更新失败时邮件通知你。

输入email后,还会再问你同意与否,后面列出的一个网址,看pdf(估计就是协议),那必须得填Y阿。

W - 生成一个证书并通过 WebDav 来进行安装

F - 生成一个证书通过FTP、FTPS安装。

M - 通过配置手动生成证书

A - 给 IIS 当前已经发布的所有网站各自部署上对应的证书

会自动替你扫描出IIS上的站点,让你选择,一般选M手动获取站点证书。

这样接下来就是填入host name 站点主机名,web root 网站的根目录。

letsencrypt-win-simple.V1.9.1 会自动生成临时文件并放到网站根目录,然后 Let's Encrypt 服务器会访问这个文件, 用于验证这个网站是否属于你。

如果验证不通过,是因为 IIS 需要修改一些配置, 验证通过后会实时颁发证书,并且会自动把证书添加到服务器中,然后直接在 IIS 中进行HTTPS部署即可。

除了直接运行letsencrypt程序来交互操作,还可以在CMD上敲命令去单条命令完成,例如:

部署单个域名

输入以下命令

letsencrypt.exe --accepttos --manualhost 你的域名 --webroot 你的网站物理路径(wwwroot路径)

除了用官方自带的命令行工具外,还有一个第三方的更好用的图形界面下的工具:

一个可以自动续订Let's Encrypt颁发证书的 GUI 软件,叫做 certify

作用是可以自动配置、创建和自动续订证书,并且到快要续订的时候会自动发邮件给你。

首先先去 官网下载 certify ,然后在服务器上安装。

官网下载链接:http://certify.webprofusion.com/

注意,certify 要求以管理员权限运行,并且要求服务器安装了 PowerShell 4.0。

PowerShell 4.0 默认集成在 Windows Management Framework 4.0 中,而 Windows Management Framework 4.0 又依赖 Microsoft .NET Framework 4.5 。

可以查看下自己的服务器是否具备这些环境,然后按需更新即可。更新之后安装 certify 运行。



点击 New Contact 按钮,创建一个联系人,这个联系人会在证书快要过期的时候收到续订证书的提醒邮件,输入email 即可。

(注:第一次启动程序的时候也会弹出对话框让你填这个新联系人)



点击 New Certificate,certify 会自动扫描 IIS 中的站点,选择你要申请证书的域名。

[](http://images2015.cnblogs.com/blog/965728/201701/965728-20170120142406406-684809033.jpg

点击 Request Certificate 获取证书,certify 会在网站根目录下生成 .well-known 文件夹,并且会自动配置 web.config,自动验证证书。

验证完成后会弹窗显示证书已安装。就可以去看自己已经申请的证书详细信息了。



且 IIS 中也已经自动给你配置好了证书,这点是省了不少事。

如果发现证书没有续订或者没有生效,点击一下 Auto Apply 就可以了。

最后记得把网站根目录下的 .well-known 目录给删掉,以保持网站目录干净。

用certify这个工具简直不能太赞了,图形化界面比letsencrypt自身的官方脚本工具直观,又会在IIS上自动替你绑定443,还带自动续订和邮件通知的功能。

【http转https】其之二:申请Let's Encrypt颁发SSL证书的更多相关文章

  1. 全民https时代,Let's Encrypt免费SSL证书的申请及使用(Tomcat版)

    近几年,在浏览器厂商的强力推动下,HTTPS的使用率大增.据统计,Firefox加载的网页中启用HTTPS的占比为67%,谷歌搜索结果中HTTPS站点占比已达50%,HTTPS网站已获得浏览器和搜索引 ...

  2. 申请安装阿里云免费SSL证书

    微信小程序已经全面要求使用HTTPS服务了,还有苹果商店也是,所以,实现网站HTTPS已经很有必要.要实现HTTPS就需要一个SSL证书,证书大部分都很贵,不过也有一些免费的证书服务供个人开发者使用. ...

  3. 【http转https】其之一:腾讯云 DV SSL证书申请实验

    文:铁乐猫 2016年1月 前言 大概2017年12月28日左右公司提出以后需要将公司网站由http提升到https级别,以便谷歌和火狐浏览器将之认定为安全网站. 主要是出于客户.用户那边用火狐或谷歌 ...

  4. 申请 Let’s Encrypt 泛域名证书 及 Nginx/Apache 证书配置

    什么是 Let’s Encrypt? 部署 HTTPS 网站的时候需要证书,证书由 CA (Certificate Authority )机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于 ...

  5. SSL安装方法二:Windows Server 2008安装SSL证书(IIS 7.5)

    SSL证书CSR和CA证书唯一的区别就在:申请证书中的通用名称,具体还要看具体的项目这里只做参考.可以参考SSL安装方法一 背景:IIS 7.5 一.收到SSL证书 仔细阅读邮件 按步骤进行: 1)  ...

  6. 申请startssl免费一年ssl证书(转)

    原文:http://www.live-in.org/archives/1296.html 申请过程步骤蛮多的,对于像我这样的小白来说还是截图+文字记录下比较好.浏览器是firefox. 1.打开htt ...

  7. 使用acme.sh申请&自动续期LetsEncrypt免费SSL证书(转)

    一.简介 LetsEncrypt是一个免费.自动.开放的证书颁发机构.acme.sh 实现了 acme 协议, 可以从 LetsEncrypt 生成免费的证书. 本文介绍如何使用acme.sh来签发并 ...

  8. sdm 使用阿里云域名申请 Let’s Encrypt 通配符 域名证书

    安装acme 进入 套件中心 点击安装 Git Server 之后进入SSh会使用git命令 方法1--------------------------------------- 获取代码 git c ...

  9. HTTPS那些事(二)SSL证书(转载)

    原创地址:http://www.guokr.com/post/116169/   从第一部分HTTP工作原理中,我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密 ...

随机推荐

  1. PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息

    最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取 ...

  2. 全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson - <You-Dont-Know-JS>作者 译者团队(排名不分先后):阿希.blueken.bruc ...

  3. java.util.HashSet, java.util.LinkedHashMap, java.util.IdentityHashMap 源码阅读 (JDK 1.8)

    一.java.util.HashSet 1.1 HashSet集成结构 1.2 java.util.HashSet属性 private transient HashMap<E,Object> ...

  4. 机器学习实践之K-近邻算法实践学习

    关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2017年12月04日 22:54:26所撰写内容(http://blog.csdn.n ...

  5. C#基础知识 简单说明泛型的优点

    有关泛型的优缺点在网上有很多篇文章,也足以说明问题,我就不去复制粘贴了(而且内容有些多),由于记性不太好,所以自己做个简单明了的总结. 泛型的优点主要有两个: "性能" " ...

  6. 自学Zabbix3.5.6-监控项item-Value mapping值映射

    zabbix为了显示更人性化的数据,在使用过程中,我们可以将获取到得数据映射为一个字符串.比如,我们写脚本监控MySQL是否在运行中, 一般返回0表示数据库挂了,1表示数据库正常,还有各种各样的监控都 ...

  7. vue从入门到女装:从零开始搭建后台管理系统(一)安装框架

    安装及运行都是基于node的,不会node的可以自行百度,网上教程很多,也不难 项目效果预览: demo1 demo2 源码下载 开始安装框架: vue ==>vue-cli安装   eleme ...

  8. Android Studio 快速开发

    概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. P ...

  9. JMeter接口HTTP请求implementation不选java会报错解决方法

    1.若不对c参数和d参数进行URL编码则需要选择implementation为java: 2.若想不设implementation值,则需进行c参数d参数URLEncoding import java ...

  10. 数据分析与展示——Matplotlib基础绘图函数示例

    Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...