V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fox0001
V2EX  ›  SSL

Let’s Encrypt 使用 DNS 验证并更新证书

  •  
  •   fox0001 · 2019-08-24 18:19:08 +08:00 · 5011 次点击
    这是一个创建于 1916 天前的主题,其中的信息可能已经有所发展或是发生改变。

    宽带的 80、443 端口被禁了,更新免费的 SSL 证书( Let ’ s Encrypt 的免费证书)就成问题了。后来找到相关的文章,说是可以通过 DNS 验证并更新,指向以下官方网址:

    User Guide -> Getting certificates (and choosing plugins) -> dns-plugins https://certbot.eff.org/docs/using.html#dns-plugins

    找 DNSPod 的插件时,发现 github 上居然有不同的版本(名称却是一样的),因此走了弯路(浪费了一个下午)。最后按照这个的说明,成功更新了证书。

    DNSPOD DNS Authenticator plugin for Certbot https://github.com/SkyLothar/certbot-dns-dnspod/blob/master/README.rst

    简单来说,就是

    1 )去 DNSPod.cn 申请 api 授权

    2 )安装插件:pip install certbot-dns-dnspod

    3 )生成插件配置文件,例如保存到文件/etc/cetbot-dns-dnspod-credentials.ini。重点是双引号不可缺,token 的格式是 id 和 token 以逗号分隔

    certbot_dns_dnspod:dns_dnspod_email = "DNSPod 账户的 Email"
    certbot_dns_dnspod:dns_dnspod_api_token = "api_id,api_token"
    

    4 )配置文件设置权限(只是为了安全,此步可不做):sudo chmod 600 /etc/cetbot-dns-dnspod-credentials.ini

    5 )更新证书。xxx.com 需要替换为相关域名。

    certbot certonly -a certbot-dns-dnspod:dns-dnspod \
        --certbot-dns-dnspod:dns-dnspod-credentials /etc/cetbot-dns-dnspod-credentials.ini \
        -d xxx.com
    

    证书更新成功后,会发现 certbot 的配置文件(/etc/letsencrypt/renewal/xxx.com.conf )也更新了。

    3 条回复    2019-08-24 19:07:24 +08:00
    love
        1
    love  
       2019-08-24 18:45:46 +08:00
    huaxianyan
        2
    huaxianyan  
       2019-08-24 18:57:57 +08:00
    acme.sh 本身就支持主流的 DNS 管理平台使用这种方式下发证书

    并且可以自动更新证书
    fox0001
        3
    fox0001  
    OP
       2019-08-24 19:07:24 +08:00 via Android
    @love
    @huaxianyan
    谢谢。不过已经配置好了,我就不换了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:07 · PVG 06:07 · LAX 14:07 · JFK 17:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.