业余撸了一个 HTTPS 证书免费申请、自动化更新、部署、监控、告警系统,大家都来看看满足不满足你的需求 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
phris
V2EX    分享创造

业余撸了一个 HTTPS 证书免费申请、自动化更新、部署、监控、告警系统,大家都来看看满足不满足你的需求

  •  
  •   phris 2023-11-20 22:36:50 +08:00 6205 次点击
    这是一个创建于 690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网站链接:https://ohttps.com(建议 PC 端访问)

    使用文档:点击查看快速上手文档

    大家好,在业余时间开发了一个 HTTPS 证书自动化系统: OHTTPS,大家都来帮忙看看满足不满足你对 HTTPS 证书的需求。

    项目最初的目的是为了解决使用 Let's Encrypt 证书中遇到的问题:Let's Encrypt 证书很好用,它支持通配符证书且完全免费,而且系统兼容性也非常好,但是有个很大的问题就是有效期短,只有 90 天,每年需要多次更新并重新部署,虽然有 acme.sh 这样神一样的开源证书自动化命令行工具,但是对于部署至阿里云、腾讯云、七牛云等这样的云服务商中的 CDN 、负载均衡 LB 等服务还是需要在证书更新后进行手动配置,效率及其低下和繁琐,因此才开始了开发 OHTTPS 这个支持证书自动化更新、部署、监控的一体化 HTTPS 证书管理系统。

    经过逐年累月的开发演进,目前已逐渐发展成为一个相对完善的支持证书自动化更新、自动化部署、自动化监控告警的证书自动化系统。

    • 支持证书到期前自动化更新部署:在 HTTPS 证书即将到期前,可对证书进行自动化更新,更新成功后支持证书自动化部署至阿里云、腾讯云、百度云加速、七牛云、宝塔面板、自定义 Docker 容器、Nginx 容器、Openresty 容器、SSH 远程命令、Webhook 、API 接口等等。

    • 支持网站证书的自动化监控告警:支持指定域名、IP 及端口对网站的 HTTPS 证书进行自动化监控告警,当网站证书状态出现异常时,可通过企业微信机器人、钉钉机器人、飞书机器人、Slack 机器人、Discord 机器人等多种方式进行告警。

    欢迎大家多多使用和提意见。

    61 条回复    2024-12-04 09:47:56 +08:00
    qweruiop
        1
    qweruiop  
       2023-11-20 22:47:38 +08:00
    op 的文档站很漂亮,能问下什么做的不?
    iomect
        2
    iomect  
       2023-11-20 22:49:07 +08:00
    @qweruiop #1 很明显的 Docusaurus
    phris
        3
    phris  
    OP
       2023-11-20 22:51:05 +08:00
    @qweruiop ,用 docusaurus 做的,这是官方链接: https://docusaurus.io/ ,容易上手且 SEO 友好
    nomytwins
        4
    nomytwins  
       2023-11-20 23:10:24 +08:00
    appnode 面板支持免费申请 Let's Encrypt ,3 个月后自动续期
    phris
        5
    phris  
    OP
       2023-11-20 23:13:36 +08:00
    @nomytwins 666 ,看起来和宝塔面板很类似。我这边 OHTTPS 主要专注于证书的一站式管理
    HOMO114514
        6
    HOMO114514  
       2023-11-20 23:22:56 +08:00 via iPhone
    可以支持 zerossl 吗,有些个人化的项目部署无域名 HTTPS 需要他的证书,90 天续期一次
    phris
        7
    phris  
    OP
       2023-11-20 23:25:12 +08:00
    @chowdpa02k413 是指 IP 证书吗?
    baobao1270
        8
    baobao1270  
       2023-11-20 23:31:43 +08:00   6
    感觉楼主的思路还是挺不一样的,相当于是把证书服务做成了 SaaS 。CNAME 免授权的功能 acmesh 其实也有,只不过终究还是需要一个自己的域名而楼主想的云服务化方案就替用户省下了这个烦恼。但是这条路在国内想要商业化,难走啊。

    感觉楼主其实选错了 market segmentation或者说,为什么 acmesh 没有部署到 CDN 、到 Load Balancer 的功能?其实 acmesh 可以自定义 Deploy Hook ,但是官方不实现其实还是因为需求不足。这些功能其实企业用的更多,大企业又不喜欢用 ACME 更喜欢付费证书,而做成云服务也不讨 Geek 喜欢,所以楼主的市场就很小了。我看到楼主的定价是只要更新证书就收费,那么必然导致很多人觉得「那我还是用免费的 acmesh 吧,让 AI 写个部署到 CDN 的脚本也不难」。想要吸引新用户,还是建议做点 promotion ,最好是有一点免费额度。

    接下来就要指出楼主的问题了。第一个是技术方面的:「 OHTTPS 会在每天的凌晨 1 点左右运行证书自动更新、部署及监控服务」这一点希望楼主尽快修改。很多客户端都选择在 UTC 0:00 更新证书,对 LE 的服务器造成了很大的压力,LE 也在自己的官网请求客户端作者用随机算法,将流量分摊到一天的不同时间。目前主流的客户端都跟进了,因此还是建议楼主也进行跟进。

    然后是广告措辞都部分,Let's Encrypt 本身并不是「顶级证书机构」它本身不是根 CA 。「免 DNS 授权自动化」也不是您的「首创」,这样的宣传有违反广告法的嫌疑。
    bluedawn
        9
    bluedawn  
       2023-11-21 00:03:30 +08:00 via iPhone
    觉得 CNAME 免授权不是完全和 ACME-DNS 一样嘛?
    ab
        10
    ab  
       2023-11-21 00:04:39 +08:00
    厉害
    phris
        11
    phris  
    OP
       2023-11-21 00:18:10 +08:00
    @baobao1270 ,多谢宝贵意见,说的很全面。不过现在注册 OHTTPS 是有 500 的免费额度的,基本上完全可以满足一张证书一年共 4 次的自动部署化的。凌晨一点开始更新这个,因为 Let's. Encrypt 本身有请求速率限制,所以我是控制了请求速度的,目前看更新成功率应该是没有受影响的,不过后期我也会优化下,修改成一定程度的随机时间。关于广告措辞这个,我稍后会优化下。再次你的感谢宝贵意见。
    phris
        12
    phris  
    OP
       2023-11-21 00:20:17 +08:00
    @bluedawn 是的,是一样的
    phris
        13
    phris  
    OP
       2023-11-21 00:24:38 +08:00
    @ab
    Yadomin
        14
    Yadomin  
       2023-11-21 00:29:51 +08:00 via Android
    我也一直想做一个中心化的证书管理,主要是觉得 cloudflare token 分在不同的机器上很不安全。

    我觉得您这个还可以做的一件事就是允许自建 CA ,并给其他机器签发证书,主要是有给内网上 https 的需求。
    phris
        15
    phris  
    OP
       2023-11-21 00:32:29 +08:00
    @Yadomin 好想法,不过不知道需要这个功能的人多不多,
    lemonda
        16
    lemonda  
       2023-11-21 00:54:37 +08:00
    用户数多了以后 Let's Encrypt 对请求数的限制怎么破除呢?
    qjmiao
        17
    qjmiao  
       2023-11-21 07:12:16 +08:00
    @phris 主页面和登录/注册功能用什么实现的
    37Y37
        18
    37Y37  
       2023-11-21 07:28:44 +08:00 via Android
    这个不错,很有用,功能闭环,非常棒!
    devliu1
        19
    devliu1  
       2023-11-21 08:05:01 +08:00 via Android
    @phris 对只能手动设置证书的站很有用,建议个出自助 ca ,自动更新证书 caddy traefik NGINX proxy manager 做的很成熟了。
    devliu1
        20
    devliu1  
       2023-11-21 08:07:17 +08:00 via Android
    btw 证书和 dns 这么关键的资产,不开源大家应该不敢用
    phris
        21
    phris  
    OP
       2023-11-21 08:48:41 +08:00 via iPhone
    @lemonda Let’s Encrypt 是对单用户限制的速度,可以注册多用户来避开这个限制
    phris
        22
    phris  
    OP
       2023-11-21 08:59:12 +08:00 via iPhone
    @qjmiao 哈哈,没什么特别的,就是 react
    tpxcer
        23
    tpxcer  
       2023-11-21 09:10:50 +08:00 via iPhone
    看起来还不错的样子
    phris
        24
    phris  
    OP
       2023-11-21 09:11:03 +08:00 via iPhone
    phris
        25
    phris  
    OP
       2023-11-21 09:12:59 +08:00 via iPhone
    @devliu1 开源了估计就成献爱心了,
    morutong
        26
    morutong  
       2023-11-21 10:50:54 +08:00
    @qweruiop #1 推荐个插件:Wappalyzer ,以后网站用什么做的就不用问人了
    samkallon
        27
    samkallon  
       2023-11-21 11:29:33 +08:00
    好用 已经部署成功了
    laizenan
        28
    laizenan  
       2023-11-21 11:57:03 +08:00
    和 certbot 相比怎么样?
    phris
        29
    phris  
    OP
       2023-11-21 12:23:51 +08:00 via iPhone
    colinxu
        30
    colinxu  
       2023-11-21 14:07:47 +08:00
    很棒的系统我一直在用
    hongfs
        31
    hongfs  
       2023-11-21 14:15:38 +08:00
    跟我们一个自用的工具有点类似,但我们要求一定的手动。

    1. 每两个月上 github actions 重新生成下 zerossl ,生成后调用写好的接口,上传 SSL 证书到云平台上,然后再对相关云产品进行自动更新。
    2. 还提供一个定时接口查询 SSL 失效时间,主要通过 DNS API 来查询解析的记录,然后 http 请求去检查,每天早上 9 点运行,7 天内过期的会飞书通知。
    3. 主力语言是 golang ,慢慢在容器化部署了,还提供接口可以在构建镜像时下载证书文件,不经常部署的项目有 2 来兜底。
    lisxour
        32
    lisxour  
       2023-11-21 14:24:22 +08:00
    很多面板都自带的功能,你这有什么优势呢?还付费

    Fxshiny
        33
    Fxshiny  
       2023-11-21 14:50:15 +08:00
    @morutong 确实很不错的,我还是找独立站的时候发现这个产品,很 nice
    qweruiop
        34
    qweruiop  
       2023-11-21 15:47:53 +08:00
    @morutong 哇,确实好用,谢谢!
    liuidetmks
        35
    liuidetmks  
       2023-11-21 18:03:10 +08:00
    @lisxour 付费没问题,总有需要的人把。
    phris
        36
    phris  
    OP
       2023-11-21 20:59:01 +08:00 via iPhone
    @samkallon 多谢使用和支持
    phris
        37
    phris  
    OP
       2023-11-21 21:00:51 +08:00 via iPhone
    @laizenan certbot 和 acme.sh 类似,都是命令行类型的自动化工具,无法自动化部署至云服务,并且没有证书监控
    phris
        38
    phris  
    OP
       2023-11-21 21:01:42 +08:00 via iPhone
    @colinxu 多谢使用和支持,
    phris
        39
    phris  
    OP
       2023-11-21 21:03:41 +08:00 via iPhone
    @lisxour OHTTPS 中有很多宝塔面板用户,他们普遍反馈宝塔面板的自动化证书不是很稳定,有时候会出问题,不知道其它面板有没有类似问题
    macaodoll
        40
    macaodoll  
       2023-11-21 21:49:23 +08:00 via Android
    比 daddy 好在哪里呢?
    macaodoll
        41
    macaodoll  
       2023-11-21 21:49:34 +08:00 via Android
    @macaodoll caddy
    phris
        42
    phris  
    OP
       2023-11-21 22:27:26 +08:00
    @macaodoll caddy 是非常棒的默认自动化支持 HTTPS 的 Web 服务器,caddy 的重点在 Web 服务器,而 OHTTPS 则重点在于解决证书自动化问题。证书的使用场景除了 Web服务器还有些其它场景,比如云服务、CDN 、Linux 面板等等
    xiangyuecn
        43
    xiangyuecn  
       2023-11-21 22:59:42 +08:00   1
    @devliu1 @hongfs 需要手动申请证书的话,可以用我开源的这个《网页版 ACME 客户端》:
    https://xiangyuecn.gitee.io/acme-html-web-browser-client/ACME-HTML-Web-Browser-Client.html

    仅一个静态 HTML 文件,不依赖其他任何文件
    xiangyuecn
        44
    xiangyuecn  
       2023-11-21 23:02:00 +08:00
    @phris 免 DNS 授权模式是咋弄的,_acme-challenge 可以不用 txt 记录,直接用 cname 记录吗,还是咋样的
    devliu1
        45
    devliu1  
       2023-11-22 00:11:03 +08:00 via Android
    @xiangyuecn cool 但是不能自动续签,小网站还是用 traefik 这种比较好,或者委托给 cf 或者 aws 这种好。有没有网页版本的 ca 签发工具我觉得会很方便
    razeen
        46
    razeen  
       2023-11-22 11:18:38 +08:00
    大佬 精力充沛啊 又整了一个
    phris
        47
    phris  
    OP
       2023-11-22 12:16:05 +08:00 via iPhone
    rmrf
        48
    rmrf  
       2023-11-22 14:04:17 +08:00
    很棒!
    jadelike
        50
    jadelike  
       2023-11-23 08:51:16 +08:00
    github 登录不了
    phris
        51
    phris  
    OP
       2023-11-23 12:16:01 +08:00 via iPhone
    @jadelike 报什么异常吗?我这边试了是正常的
    davin
        52
    davin  
       2023-11-24 10:48:49 +08:00
    还得注册登录使用,有点麻烦。我一般都是找那种可以直接在线生成 Let's Encrypt 的 cakey 和私钥之类的,去网站后台复制粘贴完事儿。
    mmtromsb456
        53
    mmtromsb456  
       2023-11-25 16:32:27 +08:00
    @xiangyuecn #43
    这个网页版客户端不错,但有考虑支持 ACME.SH 的 DNS API 吗,应该在浏览器内发出 HTTP Request 也可以吧
    phris
        54
    phris  
    OP
       2023-11-25 21:37:08 +08:00
    @mmtromsb456 可以使用下 OHTTPS 哟,支持 DNS API ,[奸笑]
    jmk92
        55
    jmk92  
       2023-11-26 02:46:33 +08:00
    @phris 现在阿里的免费一年证书变成 3 个月了,腾讯的估计快了,政策在鼓励走向越来越短,那么你的产品应该接下来会越来越有市场,尤其是明年,加油,别跑路啊,明年到期就靠你了
    phris
        56
    phris  
    OP
       2023-11-27 22:36:21 +08:00 via iPhone
    @jmk92 ,OHTTPS 已经三年多了,放心
    draguo
        57
    draguo  
       2023-11-28 10:48:41 +08:00
    首页这背景颜色能换一个不,我怎么看三秒就有点眼花了
    phris
        58
    phris  
    OP
       2023-11-28 22:47:06 +08:00
    @draguo ,我看看怎么改下设计
    chaselen
        59
    chaselen  
       2024-03-07 09:15:14 +08:00
    github 登录报错:服务器处理异常
    bingtsingw
        60
    bingtsingw  
       2024-03-13 23:40:09 +08:00
    想法真的不错,我也一直想做类似的项目
    不过证书资产,要么用开源的自己部署,要么云厂商服务,否则是真不敢用
    seekafter
        61
    seekafter  
       311 天前
    我只能说好用,自己多个域名+多个服务器+多个厂商,差不多每周都有短信提醒我过期,真的烦.
    支持收费,自动化部署再也不怕过期了
    https://ohttps.com?invitatiOnCode=397zerqpzm98p5dq
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4851 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 09:46 PVG 17:46 LAX 02:46 JFK 05:46
    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