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

let's encrypt 能支持泛域名证书吗?

  •  
  •   darknoll · 2020-03-22 10:08:57 +08:00 · 5489 次点击
    这是一个创建于 1707 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如我的域名是 x.com,在解析里面设置了泛解析*.x.com 由于有多个二级域名,如果没有泛域名证书,a.x.com 需要弄个,b.x.com 也要弄个,实在是太麻烦了

    27 条回复    2020-03-23 18:50:46 +08:00
    belin520
        1
    belin520  
       2020-03-22 10:09:36 +08:00 via iPhone
    支持
    imdong
        2
    imdong  
       2020-03-22 10:10:20 +08:00
    是支持的,-d *.doname.com 即可
    herotiga
        3
    herotiga  
       2020-03-22 10:12:23 +08:00
    早就支持了
    syuraking
        4
    syuraking  
       2020-03-22 10:14:55 +08:00
    支持,但是 DNS 校验不支持自动,略烦,直接花钱买了正规的泛域名证书。
    有能力的,可以写个 SH,配合大厂的 API KEY,可能能省些钱。

    不过好像某墙对免费的证书有认证,我有一台鸡用 let's encrypt 的证书永远就是无法访问,换成正规的,就完全正常。
    ruixue
        5
    ruixue  
       2020-03-22 10:19:26 +08:00
    @syuraking acme.sh 支持 dnsapi 自动续期,有些 dns 提供商不支持 api 的也可以用 dns alias 模式迂回实现
    zgoing
        6
    zgoing  
       2020-03-22 10:20:01 +08:00
    @syuraking 其他的不知道,certbot 配合 cloudflare 是可以自动更新的
    xiangyuecn
        7
    xiangyuecn  
       2020-03-22 10:40:47 +08:00
    我自己用的纯手工版教程: https://www.cnblogs.com/xiangyuecn/p/9159087.html 我现在每三个月就按标准化半自动流程手工操作一遍😂

    前几天刚教一个哥们申请通配符证书,他本来想买阿里云的一年要 1 千多块,瞬间就省了,但服务费还没有给。。。

    [纯手工版-申请操作步骤]
    1. 如果没有域名对应的 CSR,先生成 CSR,填写所有需要的域名和泛域名,保存得到 domain.csr domian.key ,懒得配置 openssl 就用 web 版 url:https://certificatetools.com/

    2. 生成 account 秘钥,如果没有生成就生成新的,如果生成了就不要再生成,账号秘钥丢了这个秘钥生成的证书以后没法管理:
    openssl genrsa -out account.key 2048
    openssl rsa -in account.key -pubout -out account.public

    3. HTML 版申请证书( clone 源码纯本地 HTML 文件,检查 network 面板只有 Let’s Encrypt API 的请求): https://gethttpsforfree.com/
    申请过程中需要用 account.key 进行签名,域名太多?懒得每次都用 openssl 签名:可以在浏览器控制台内执行 https://github.com/diafygi/gethttpsforfree/issues/164 内代码,填写 account.key 到私钥输入框后会自动签名(我写的,一样的检查 network 面板只有 Let’s Encrypt API 的请求)

    申请到第 4 步需要验证域名所有权,全部进行 dns 验证,把所有的 dns txt 记录配置到 dns 解析里面,然后再来一个个点验证按钮

    最后得到证书文本,把文本保存到 domian.crt 内,domain.key domian.crt 两个文件就是完整的证书了,根据 web 容器需要的格式可以把这两个文件转成需要的格式。
    abcdGJJ
        8
    abcdGJJ  
       2020-03-22 10:46:07 +08:00 via Android
    xiangyuecn
        9
    xiangyuecn  
       2020-03-22 10:47:53 +08:00
    @syuraking #4 目测是服务器端证书里面没有完整证书链,刚好客户端机器上又从来没有下载过 Let's 的中间证书。

    把 Let's 的那个中间证书追加到证书的结尾应该就没毛病了
    eason1874
        10
    eason1874  
       2020-03-22 10:48:15 +08:00
    @syuraking 你用的啥,我用 acme.sh + DNSPod 可以自动配置泛域名证书啊。
    darknoll
        11
    darknoll  
    OP
       2020-03-22 10:58:35 +08:00
    @eason1874 我这个域名是阿里云国际的,不知道咋弄啊
    qinxi
        12
    qinxi  
       2020-03-22 11:14:20 +08:00
    @darknoll #11 如果你自己的 dns 服务商不在 acme.sh 的列表, 你可以用 DNS-alias-mode 模式 借用一个在支持列表的域名操作
    eason1874
        13
    eason1874  
       2020-03-22 11:18:19 +08:00
    @darknoll #11 这个工具也支持阿里云的解析 API,去 github 看文档,我发不了链接了。

    ```
    export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
    export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
    acme.(防止被识别成外链) sh --issue --dns dns_ali -d *.域名
    ```

    如果你怕 API 密钥泄露,你可以只允许 API 设置 _acme-challenge.域名 ,因为验证的时候是给 _acme-challenge 添加 txt 记录,只需要用到这个。

    这方面在 DNSPod 的做法是可以 _acme-challenge 子域名共享给另一个账号,然后那个账号就只能更改这个子记录,就可以放心用那个账号的密钥。阿里云的操作估计类似,你研究研究。
    gwy15
        14
    gwy15  
       2020-03-22 11:19:44 +08:00
    @syuraking certbot 有各种插件,对不同的 DNS 提供商只要提供密钥就可以了。比如我现在用的 cf 的 DNS,只要装个 certbot-dns-cloudflare,保存 CF 的 access token 到一个 ini 文件里面,跑 certbot 的时候传参进去就可以了。
    uTOmOuk3L6sb4MSI
        15
    uTOmOuk3L6sb4MSI  
       2020-03-22 11:37:56 +08:00 via iPhone
    以用 1 年多了
    wh469012917
        16
    wh469012917  
       2020-03-22 11:43:05 +08:00
    @syuraking DNS 校验也是支持自动的
    andynet
        17
    andynet  
       2020-03-22 12:04:52 +08:00
    支持
    syuraking
        18
    syuraking  
       2020-03-22 12:17:32 +08:00
    @xiangyuecn 我直接就是 fullchain 的,没用,直接就是断,这点我自己懂的。
    huguotai
        19
    huguotai  
       2020-03-22 12:19:14 +08:00
    可以的
    syuraking
        20
    syuraking  
       2020-03-22 12:19:20 +08:00
    @eason1874 弃了,因为墙屏蔽这个免费证书,不知道什么情况。同证书挂到其它机器正常,在某些 IP 上就 RESET,域名相同,就这情况,算了,老实上收费。
    wangyzj
        21
    wangyzj  
       2020-03-22 13:38:12 +08:00
    支持了啊
    才知道
    liuxyon
        22
    liuxyon  
       2020-03-22 14:52:51 +08:00
    我这有 dns 支持,需要联系
    flynaj
        23
    flynaj  
       2020-03-23 10:43:39 +08:00
    应该是一年多前支持的. 用 acme.sh 方便.
    lincanbin
        24
    lincanbin  
       2020-03-23 11:18:40 +08:00
    tankren
        25
    tankren  
       2020-03-23 13:40:21 +08:00
    acme 请
    yukinagato
        26
    yukinagato  
       2020-03-23 18:07:10 +08:00
    @syuraking 那要是自签证书是不是也会特别关照
    syuraking
        27
    syuraking  
       2020-03-23 18:50:46 +08:00
    @yukinagato 不清楚了,自签浏览器已经显示不安全了,当然弃用了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   984 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 20:14 · PVG 04:14 · LAX 12:14 · JFK 15:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.