文:铁乐猫

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. dataset的使用和图片延时加载的实现

    首先,先介绍一下关于javascript中dataset属性..html5中可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放.下面是元素应用data属性的一个例子:~~~~~~~~ ...

  2. ACM HDU 1081 To The Max

     To The Max Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  3. Shell编程进阶篇(完结)

    1.1 for循环语句 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器,或 ...

  4. suds库使用说明官方文档

    OVERVIEW The Suds web services client is a lightweight soap-based client for python the is licensed ...

  5. tensorflow 安装升级

    对于已经安装过的tensorflow,执行以下命令升级到最新版: pip3 install -U tensorflow 目前最新版本1.4

  6. SQL基础教程读书笔记-2

    4 数据更新 4.1数据的插入 1.清单{①列清单 ②值清单列清单和值清单的数量必须保持一致.原则上,执行一次INSERT语句会插入一行数据对表进行全列INSERT时,可以省略表名后的列清单2.插入默 ...

  7. 使用django UWSGI 出现 Bad Request (400)

    使用 Nginx + Django+UWSGI 部署机器时,一直出现 Debugging Apache/Django/WSGI Bad Bad Request (400) 错误 最后发现问题是 Dja ...

  8. dynamic programming 学习

    这是看到一位大神,写的关于dynamic programming的博客,认为很好.简单分析下.然后给出链接. 背景问题就是 有一个国家,全部的国民都很老实憨厚,某天他们在自己的国家发现了十座金矿.而且 ...

  9. hdu 4409 Family Name List(LCA&有坑点)

    Family Name List Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. MFC学习之CWinApp类

    CWinApp是一个基类,你通过它来继承Windows应用程序对象.应用程序对象为你提供了初始化应用程序(以及它的每一个实例 和运行应用程序所需的成员函数.它实现主事件循环并把事件分发给MFC中其他类 ...