美文网首页
Let's Encrypt泛域名SSL证书

Let's Encrypt泛域名SSL证书

作者: 黑猫iWYC | 来源:发表于2018-09-08 13:25 被阅读0次

    Let's Encrypt将免费服务提供给全世界,让昂贵的SSL变得触手可及,同时提升互联网整体的安全水平。

    自2015开始,Let's Encrypt便提供免费的单域名证书。很多主机服务商、CDN服务商、面板均可自动申请并续签。

    2018年初,Let's Encrypt开始提供通配符证书,即一套证书可以用于所有子域名。当颁发给i.iwyc.cn时,所有一级子域名均可以使用该证书。大大的福利!

    下面是申请Let's Encrypt泛域名SSL证书的教程:

    一、安装acme.sh脚本

    参考:acme.sh中文指南
    打开终端,键入:
    curl https://get.acme.sh | sh

    如果提示curl命令不存在,则需要安装相关依赖。

    二、验证域名

    acme.sh 实现了 acme 协议支持的所有验证协议。一般有两种方式验证: http 和 dns 验证。
    推荐使用DNS验证,并且配合域名解析商提供的 api 自动添加 txt 记录完成验证。这是最简单、便捷的方式。

    • 无需指定IP即可验证域名
    • 全自动化申请并续签
    • 随意使用CDN或跳转,只要不更改域名解析商,都不影响续签
      其它方式请参考官方指南。

    1.登录域名解析商获取API

    acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成。

    可以在官方文档-API用法中查询acme.sh支持的解析商以及对应的指令。

    以DNSPOD(腾讯云)为例,在用户中心-安全设置中开启API,并将ID和Token记下来。


    2.然后将API输入终端:

    export DP_Id="替换为数字ID"

    export DP_Key="替换为Token值"

    注意,这是DNSPOD的指令,如果是其它解析商,请参照官方文档-API用法

    三、生成证书

    在终端中键入:
    acme.sh --issue --dns dns_dp -d iwyc.cn -d *.iwyc.cn
    请替换成自己的域名,*是通配符,支持任何一级子域名。
    终端中会输出证书存放的位置,可以按图索骥找到证书文件。


    可以看到证书包中有很多文件,其中域名.key是秘钥;a.cer存储的是CA证书,域名.cer是域名证书,fullchain.cer是前两者的拼接;域名.csr是证书签名请求。

    四、使用证书

    宝塔面板中,只需要将证书文件拷贝到“其他证书”中,保存即可。

    基于Nginx的服务器,左侧拷贝的内容是域名.key,右侧拷贝的是fullchain.cer。基于Apache请自行搜索。

    如果没有使用面板,可以在终端中使用 --installcert命令进行安装。

    五、检验证书

    访问myssl.com,检验证书是否安装正确。

    其它

    1.自动续签

    安装acme.sh时,会自动创建 cronjob,每天 0:00 点自动检测所有的证书,如果快过期了, 则会自动更新证书。

    2.更新acme.sh

    目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.

    升级 acme.sh 到最新版 :
    acme.sh --upgrade
    如果你不想手动升级, 可以开启自动升级:
    acme.sh --upgrade --auto-upgrade
    关闭自动更新:
    acme.sh --upgrade --auto-upgrade 0

    相关文章

      网友评论

          本文标题:Let's Encrypt泛域名SSL证书

          本文链接:https://www.haomeiwen.com/subject/ocwkgftx.html