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

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

  •  
  •   sanshao124 2024-09-25 14:20:09 +08:00 2480 次点击
    这是一个创建于 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     5145 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 09:18 PVG 17:18 LAX 02:18 JFK 05:18
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86