V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
PluginsWorld
V2EX  ›  分享创造

#buildinpublic 准备做一套跨域名,泛域名的签发与自动化部署证书系统,好奇有多少人有同样的需求。

  •  
  •   PluginsWorld ·
    plugins-world · 76 天前 · 3230 次点击
    这是一个创建于 76 天前的主题,其中的信息可能已经有所发展或是发生改变。
    2024.05.02
    证书信息:




    2024.05.03
    #buildinpublic #一天造一个项目 自动化申请证书与批量部署证书到宝塔面板搞定了,支持单个证书任意多个域名,支持任意级别域名泛解析。支持跨多台服务器进行证书部署。

    接下来就是设计数据结构,页面结构,优化代码流程,做用户端页面。然后对外提供服务。

    25 条回复    2024-05-10 00:34:26 +08:00
    baobao1270
        1
    baobao1270  
       76 天前
    你这个相比 acme.sh / 宝塔 / 1Panel 有什么优势?
    PluginsWorld
        2
    PluginsWorld  
    OP
       75 天前
    @baobao1270 目前解决的事情有这几个:
    1. 一个证书包涵普通域名和泛解析域名,如途中的 plugins-world.cn, *.plugins-world.cn
    2. 多个域名,如例子中的 plugins-world.cn, iwnweb.com ,并且同时包涵他们各自的泛解析域名
    3. 简化申请签发,通过配置 ak/sk ,自动完成申请。
    4. 跨服务器部署,将同一个证书自动部署申请好的证书到多台服务器,统一到期时间
    5. 自动续期与自动部署,宝塔的目前有时候会出现申请失败的情况
    6. 支持更多的云资源证书部署,目前计划支持七牛云的证书部署。
    baobao1270
        3
    baobao1270  
       75 天前
    @PluginsWorld
    1 、2 、3 、5:这个 ACME / 宝塔 / 1Panel 都能做到
    4 、6: 这个 ACME 可以通过 hooks 做到,但是你如果能成功的通过产品简化用户的配置步骤,确实有意义

    总之你仅仅做 API 是不够的,本质上是 acme 包一层壳,但是如果能给用户提供诸如可审计性、CT 日志、可观测性、可视化等等服务,对于 to B 来说还是有意义的
    gaobh
        4
    gaobh  
       75 天前 via iPhone
    做成 saas 页面版,支持 docker 部署的话我想很多人会用
    loveqianool
        5
    loveqianool  
       75 天前 via Android
    能申请 IP 证书吗?
    tntin
        6
    tntin  
       75 天前
    我的需求:
    1 、多台服务器更新证书;
    2 、阿里云 cdn 阿里云 oss 腾讯云 cdn 更新证书;
    3 、最好是通配符证书,否则需要配置的规则就有点多。

    能实现以上要求,我觉得有市场, 至少我愿意付费。
    hefish
        7
    hefish  
       75 天前
    我脚本配合 certbot + alidns + cfdns , 基本实现手动签发,自动续签。 目前用的挺好。
    via
        8
    via  
       75 天前 via iPhone
    acme.sh 半个月自动续签一次
    totoro625
        9
    totoro625  
       75 天前
    @tntin #6 现有产品: https://ohttps.com 可以满足

    我的做法:一台 GCP 永久免费小鸡作为 ACME 申请服务器,一张证书包含若干个不同域名的泛解析域名
    crontab 每月定时申请,上传到指定的存储桶,各个服务器定时从存储桶拉取证书
    yzding
        10
    yzding  
       75 天前 via iPhone
    acme.sh 申请证书,acme.sh 安装证书配置的 reload 命令触发 ansible 推送证书的服务
    tntin
        11
    tntin  
       75 天前
    @totoro625 https://ohttps.com 这个我看了,用过。我的意思是有没有私有化部署的。
    icaolei
        12
    icaolei  
       75 天前
    我用 nginx-ui ,直接集成 nginx 、web-ui 、证书申请,还能管理其他机器,好用。
    PluginsWorld
        13
    PluginsWorld  
    OP
       75 天前
    @baobao1270 是的,你说的没错。
    PluginsWorld
        14
    PluginsWorld  
    OP
       75 天前
    @loveqianool IP 证书不知道 le 能不能申请。其他服务商的我记得费用比较高。
    PluginsWorld
        15
    PluginsWorld  
    OP
       75 天前
    @tntin 这个会支持的。因为我也是类似的需求
    PluginsWorld
        16
    PluginsWorld  
    OP
       75 天前
    @baobao1270 目前的流程设计

    PluginsWorld
        17
    PluginsWorld  
    OP
       75 天前
    @tntin 可以加个微信 1254075921 ,一起探讨一下。我也是朝着这几个方向在做。
    eryajf
        18
    eryajf  
       75 天前
    可以了解一下这个项目: https://github.com/certd/certd 目前我的证书就是基于这个来管理维护的。
    PluginsWorld
        19
    PluginsWorld  
    OP
       75 天前
    certd 我昨天看过了,但是和想象中的简化差了很多。
    pulelt
        20
    pulelt  
       75 天前
    @baobao1270
    @PluginsWorld 我用宝塔,但是我把一级域名 301 重定向 到 www.*的二级域名,续签失败,供参考。
    PluginsWorld
        21
    PluginsWorld  
    OP
       75 天前
    @pulelt 是的,我也是有出现宝塔无法自动续签的情况,不过不知道为啥宝塔会续签失败。所以这也是有这个项目的原因
    ashuai
        22
    ashuai  
       75 天前
    前几天刚做了个自用的工具,接了 alidns api, aliyun fc api, ali oss api, acme api ,自动申请、续期和部署。
    .net6 的,run 在哪都行。

    ecs 站的话可以上 waf ,一般都附带有免费证书的相关支持
    PluginsWorld
        23
    PluginsWorld  
    OP
       73 天前
    @ashuai 如果我作为使用者,那会希望价格足够友好足够低,使用足够简单足够方便。并且能确实解决遇到的问题。

    如果自用或者公开用,还需要花费较大精力研究,那会有点得不偿失了。
    blankmiss
        24
    blankmiss  
       73 天前
    宝塔和 1panel 不是 acme
    PluginsWorld
        25
    PluginsWorld  
    OP
       69 天前
    完成了登录注册功能,具体的流程接口均已开发完毕,剩余接口陆续对接中。

    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5141 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:33 · PVG 16:33 · LAX 01:33 · JFK 04:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.