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

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

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

    网站链接: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 机器人等多种方式进行告警。

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

    60 条回复    2024-03-13 23:40:09 +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
    @37Y37 👈😄😄😄
    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
    @morutong 👍👍👍
    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
    @razeen 😄
    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  
       364 天前
    @xiangyuecn #43
    这个网页版客户端不错,但有考虑支持 ACME.SH 的 DNS API 吗,应该在浏览器内发出 HTTP Request 也可以吧
    phris
        54
    phris  
    OP
       364 天前
    @mmtromsb456 可以使用下 OHTTPS 哟,支持 DNS API ,[奸笑]
    jmk92
        55
    jmk92  
       364 天前
    @phris 现在阿里的免费一年证书变成 3 个月了,腾讯的估计快了,政策在鼓励走向越来越短,那么你的产品应该接下来会越来越有市场,尤其是明年,加油,别跑路啊,明年到期就靠你了
    phris
        56
    phris  
    OP
       362 天前 via iPhone
    @jmk92 😄,OHTTPS 已经三年多了,放心
    draguo
        57
    draguo  
       361 天前
    首页这背景颜色能换一个不,我怎么看三秒就有点眼花了
    phris
        58
    phris  
    OP
       361 天前
    @draguo 😂,我看看怎么改下设计
    chaselen
        59
    chaselen  
       261 天前
    github 登录报错:服务器处理异常
    bingtsingw
        60
    bingtsingw  
       255 天前
    想法真的不错,我也一直想做类似的项目
    不过证书资产,要么用开源的自己部署,要么云厂商服务,否则是真不敢用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 00:25 · PVG 08:25 · LAX 16:25 · JFK 19:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.