• 【http转https】其之二:申请Let's Encrypt颁发SSL证书


    文:铁乐猫
    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,还带自动续订和邮件通知的功能。

  • 相关阅读:
    redis持久化的方式RDB 和 AOF
    centos7搭建mysql-5.7.22主从复制
    Vue项目上线后刷新报错404问题(apache,nginx,tomcat)
    Zabbix监控华为交换机
    Zabbix数据库清理历史数据
    MySQL增删改查基本语句
    什么是SQL注入式攻击?
    .NET面试题(二)
    .NET面试题(一)
    .NET面试题(三)
  • 原文地址:https://www.cnblogs.com/tielemao/p/6322767.html
Copyright © 2020-2023  润新知