一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。

  • 申请免费半年通配符SSL证书&IP证书教程

    发布于 2023-06-14  582 次阅读


    之前本站一直用的是 AlphaSSL 野卡通配符证书,价格30元一年,免费通配符证书可以选择 Let's Encrypt,不过证书有效期只有90天,过期后就需要重新签发。虽然可以通过 acme.sh 脚本来实现自动续期,但是如果使用了 CDN 的话,CDN 上的证书还是只能通过手动更新。

    近期 ACME 支持了有效期半年的免费通配符SSL证书,而且还支持签发免费 IPv4 & IPv6 证书,嗨CA项目官网:https://www1.hi.cn/,注意不支持 .ru.by.su 俄罗斯域名,话不多说直接看教程。

    签发教程

    注意免费证书有所限制,当需要以下特性的时候:超过1个通配符、超过3条多域名、IP 证书、通配符追加多域名、RSA 4096 密钥、ECC 密钥,会自动触发收费流程。如果只是签发 RSA 2048 密钥单域名通配符证书,目前为止仍然是免费的。

    1. 首先 SSH 连接服务器,安装 acme.sh
      # 注意修改邮箱地址
      curl  https://get.acme.sh | sh -s [email protected]
      
      # 设置 acme.sh 自动升级
      cd ~/.acme.sh/
      acme.sh --upgrade --auto-upgrade
      
    2. IP 证书

      需要确保 80 端口可以正常访问,否则无法签发,由于 acme.sh 默认60天会自动续签证书,而 IPv4 证书的有效期是180天,所以这里还需要使用 --days 参数自定义续签时间。

      acme.sh --issue -d [你的IP] --webroot [你的网站目录] --server https://acme.hi.cn/directory --days 150
      
      # 例:
      ## IPv4
      acme.sh --issue -d 1.2.3.4 --webroot /home/wwwroot/ --server https://acme.hi.cn/directory --days 150
      
      ## IPv6(CA 限制,有效期90天)
      acme.sh --issue -d 240e:3a0:20f:2d97:274:79c7:9b53:4789 --webroot /home/wwwroot/ --server https://acme.hi.cn/directory
      
    3. 通配符证书

      需要先确认你的 DNS 服务商,这里以 DNSPod.cn 为例,首先获取你的 API Key 和 ID,登录 DNSPod 控制台 选择 DNSPod Token 申请即可,然后将你的 DNSPod API Key 和 ID 用下方命令设置成临时变量:

      export DP_Id="1234"
      export DP_Key="sADDsdasdgdsf"
      

      好了现在就可以申请你的证书了,用 acme.sh 的 DNS API 模式申请证书会自动给你的域名添加一条 txt 记录用于认证,申请完后可以自行删除,将下方命令中的 example.com 改成你要申请的域名即可。

      acme.sh --issue -d \*.example.com -d example.com --dns dns_dp --server https://acme.hi.cn/directory --days 150 -k 2048
      

       

      稍等片刻你的证书就签发成功了,证书文件保存在 ~/.acme.sh/ 目录下以你域名或 IP 命名的子目录,如果你是其他的 DNS 服务商,参考:How to use DNS API

    4. 部署

      宝塔面板(Nginx)部署只需要复制 [你的IP/域名].key 的内容到面板的 密钥(KEY) 文本框中,然后复制 [你的IP/域名]/fullchain.cer证书(PEM格式) 文本框中,保存即可使用。

    补充说明

    acme.sh 的高级功能较多,具体使用可用查阅官方Wiki参数说明

    1. 卸载脚本
      # 使用下方的命令即可卸载,然后手动删除 ~/.acme.sh/ 目录和 crontab 的定时任务即可
      acme.sh --uninstall
      
    2. 删除证书
      # 查看证书列表
      acme.sh list
      # 吊销证书,删除证书并不会吊销证书
      acme.sh revoke <SAN_Domains>
      # 删除证书,执行完毕后根据提示手动移除证书目录即可
      acme.sh remove <SAN_Domains>
      
    3. 强制续签

      默认自动续签时间是2个月,到期后会自动续签,在命令后加上 --force 参数,可以强制续签

      acme.sh --issue -d \*.example.com -d example.com --dns dns_dp --server https://acme.hi.cn/directory -k 2048 --force

    一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。

    查看评论 - 1 条评论

    Comments | 1 条评论

    • 回复
        (  Safari 604.1   Iphone 16_2 like Mac OS X) AppleWebKit )(    ) 来自: 浙江省绍兴市 移动

      我好喜欢


    Markdown Supported while Forbidden

    戳我试试 OωO 嘿嘿嘿 ヾ(≧∇≦*)ゝ

      切换主题 | SCHEME TOOL