V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sanshao124
V2EX  ›  程序员

关于自动生成 ssl 证书的问题

  •  
  •   sanshao124 · 2024-09-25 14:20:09 +08:00 · 2479 次点击
    这是一个创建于 380 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位大佬,请教一个问题,我的系统是 mac ,安装了 docker ,如果我只是想通过 docker 实现自动获取某个域名的证书该怎么弄呢?最好带自动续期的操作

    我只需要本地获取了证书文件就行,比如域名.key ,域名.pem ,这种文件,不需要再做其他操作,网上搜的要么很复杂,要么就在 mac 上无法实现

    至于证书是通过什么平台获取的,通过 acme 还是其他方式都不重要,只要是 docker 下的就行

    我对 docker 了解的不多,只会照着已有的命令改改参数
    第 1 条附言  ·  2024-09-26 15:32:19 +08:00
    感谢各位的回复,目前为止我觉得最好用的是这个
    https://github.com/usual2970/certimate
    24 条回复    2024-09-25 23:13:25 +08:00
    defunct9
        1
    defunct9  
       2024-09-25 14:31:20 +08:00
    lego
    molezznet
        2
    molezznet  
       2024-09-25 14:40:31 +08:00
    mac 不支持 cron + acme 吗? 连 docker 都不用运行的
    sanshao124
        3
    sanshao124  
    OP
       2024-09-25 14:57:41 +08:00
    @molezznet 我还是喜欢 docker ,个人原因
    cat
        4
    cat  
       2024-09-25 15:03:19 +08:00
    certbot 不是有官方 docker 镜像嘛
    sanshao124
        5
    sanshao124  
    OP
       2024-09-25 15:09:11 +08:00
    @cat 主要不是有没有得问题,是我不知道该如何用
    fly9i
        6
    fly9i  
       2024-09-25 15:14:20 +08:00
    建议既然喜欢 docker 就先学学,哪怕是用 ai 呢,否则这是干啥呢……
    sanshao124
        7
    sanshao124  
    OP
       2024-09-25 15:15:27 +08:00
    @fly9i 我学了,可是我没看懂啊,大部分都是涉及到 nginx 或者 apache ,我压根就不需要这玩意,我就不知道该怎么弄了
    sanshao124
        8
    sanshao124  
    OP
       2024-09-25 15:16:12 +08:00
    @fly9i 况且我研究半天可能还不如大家的一句话呢
    sanshao124
        9
    sanshao124  
    OP
       2024-09-25 15:17:28 +08:00
    @fly9i 我喜欢 docker 不是因为技术,是因为我需要部署一些服务,docker 比较方便,管理起来也省事,坏了修起来都好修,很多年都不搞技术了,弄 docker 也是纯自己用的
    Jinnrry
        10
    Jinnrry  
       2024-09-25 15:20:37 +08:00
    https://go-acme.github.io/lego/usage/cli/obtain-a-certificate/index.html

    使用 lego 的 cli 模式,如果你服务器可以开 http 的话你可以使用 http 验证模式( lego 客户端自动开启一个 http 服务,不需要你装 nignx 啥的),如果不能使用 http 模式的话(比如 80 端口被占用)你可以使用 dns 挑战模式,你只需要填写你 dns 服务商的 token 授权啥的,lego 客户端自动操作 dns 记录完成验证
    JensenQian
        11
    JensenQian  
       2024-09-25 16:01:46 +08:00
    不是哥们,你不整 nginx 什么的,要证书干啥
    哥们你是不是想要傻瓜式的一键就能申请的那种
    这个倒是最近玩过一个叫 lucky ,用来内网穿透的,不过也能申请证书
    功能有点多,支持 docker
    JensenQian
        12
    JensenQian  
       2024-09-25 16:03:39 +08:00
    @JensenQian #11 不过我没看懂你需要证书来干啥
    内网穿透吗,还是干啥,你要内网穿透或者外面访问的话直接可以用 cf tunnel
    那玩意点几下就行了,证书什么的你都不用管
    sanshao124
        13
    sanshao124  
    OP
       2024-09-25 16:36:39 +08:00
    @JensenQian #12 我用的 frp ,外网有个 frp server
    RoyLaw
        14
    RoyLaw  
       2024-09-25 16:42:57 +08:00   ❤️ 2
    https://github.com/usual2970/certimate/releases 这个工具是不是很符合你的需求?我刚刚开始用
    sanshao124
        15
    sanshao124  
    OP
       2024-09-25 16:46:09 +08:00
    @JensenQian #11 我就想说没有个傻瓜式的 docker 吗?加上比如阿里云的 id 和 secret ,就能直接生成证书的,好像都好麻烦啊,我问 chatgpt ,它说用 certbot ,然后还要安装 dns 插件,死活也装不上,然后就各种问题,我都快整崩溃了
    sanshao124
        16
    sanshao124  
    OP
       2024-09-25 16:47:54 +08:00
    @RoyLaw 牛逼啊,对对,就是这种,谢谢,我研究一下
    sanshao124
        17
    sanshao124  
    OP
       2024-09-25 16:57:28 +08:00
    @RoyLaw 我用 docker 方式安装,这个错误啥意思: [email protected]: Permission denied (publickey).
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.
    sanshao124
        18
    sanshao124  
    OP
       2024-09-25 17:02:16 +08:00
    @RoyLaw 我好像搞定了,谢谢啊
    RoyLaw
        19
    RoyLaw  
       2024-09-25 17:03:52 +08:00
    @sanshao124 lol 自己解决的速度好快 不用客气
    adminhf
        20
    adminhf  
       2024-09-25 17:15:17 +08:00
    FROM ubuntu:20.04
    RUN apt-get update && \
    apt-get install -y curl socat && \
    apt-get clean
    RUN curl https://get.acme.sh | sh
    ENV CF_API_EMAIL [email protected]
    ENV CF_API_KEY your_cloudflare_api_key
    RUN /root/.acme.sh/acme.sh --issue --dns dns_cf -d yourdomain.com -d '*.yourdomain.com' && \
    /root/.acme.sh/acme.sh --install-cert -d yourdomain.com \
    --key-file /path/to/your/keyfile.key \
    --fullchain-file /path/to/your/fullchain.cer
    RUN apt-get purge -y curl && apt-get autoremove -y
    CMD ["tail", "-f", "/dev/null"]
    简单写了写,自己改改吧
    JensenQian
        22
    JensenQian  
       2024-09-25 17:26:11 +08:00
    @sanshao124 #15 lucky 那个不是已经很傻瓜式的了吗
    sanshao124
        23
    sanshao124  
    OP
       2024-09-25 22:48:08 +08:00
    @JensenQian 有网址吗?谢谢
    JensenQian
        24
    JensenQian  
       2024-09-25 23:13:25 +08:00
    @sanshao124 #23 https://github.com/gdy666/lucky

    内网穿透 ddns 证书
    乱七八糟的一大堆
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5217 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 08:24 · PVG 16:24 · LAX 01:24 · JFK 04:24
    ♥ Do have faith in what you're doing.