Skip to content

建议增强 Cloudflare 相关能力:自定义主机名、证书状态、Fallback Origin、Tunnels 与路由管理 #417

@puyujian

Description

@puyujian

作者你好,先感谢你开发 dnsmgr,整体方向很实用。
我这边在实际使用场景里,感觉如果后续能进一步增强 Cloudflare 生态相关支持,这个项目的可用性会提升不少,尤其是在 SaaS、多租户、自定义域名接入以及内网服务暴露这类场景下。

下面是几个具体建议,供参考。

一、增强 Cloudflare 自定义主机名(Custom Hostnames)支持

这个能力在 SaaS 平台、自定义域名接入、租户绑定独立域名 的场景里很常见。
如果 dnsmgr 后续能支持 Cloudflare Custom Hostnames 的管理,会非常实用。

希望支持的内容包括:

  • 创建 / 删除自定义主机名
  • 查询主机名验证状态
  • 查看 SSL / TLS 相关状态
  • 如有条件,支持批量管理

这样可以让用户直接在 dnsmgr 里完成自定义域名接入的核心操作,而不需要频繁切到 Cloudflare 控制台。

二、增加证书状态查看能力

目前如果能把证书相关状态展示得更直观一些,排障效率会高很多。
比如希望可以查看:

  • 证书签发状态
  • 域名验证状态
  • 证书到期时间
  • 当前状态(如 activependingvalidation_timed_out 等)

这一块对于排查“域名已接入但证书未就绪”“访问异常”“验证失败”之类的问题会比较有帮助。

三、支持 Fallback Origin 配置

在自定义主机名 / SaaS 接入场景中,Fallback Origin 也很关键。
如果后续可以支持下面这些能力,整体流程会更完整:

  • 配置 Fallback Origin
  • 查询当前 Fallback Origin 配置
  • 修改 / 删除 Fallback Origin

这样用户在做自定义域名接入时,可以把 Cloudflare 相关核心配置集中在 dnsmgr 里统一管理。

四、增加 Cloudflare Tunnels 管理能力

我觉得这部分如果能加上,会很有亮点。
很多用户在实际使用里,不只是管理 DNS,还会同时用到 Cloudflare Tunnel 来暴露内网服务、做零信任接入或者统一入口管理。

如果 dnsmgr 能支持 Tunnel 管理,整体价值会更高。

建议支持:

  • 创建 Tunnel
  • 查看 Tunnel 列表
  • 删除 Tunnel
  • 查看 Tunnel 连接状态 / 健康状态
  • 如适合的话,支持 Token / 凭据管理

五、支持 Tunnel 路由配置

除了 Tunnel 本身,路由配置也是高频需求。
希望可以支持以下几类常见路由:

  • 公网主机名路由(Public Hostname)
  • CIDR 路由
  • 主机名路由(Hostname Route / Private Hostname Route)

如果这部分能做成统一的数据结构或统一的管理入口,使用体验会更好。

六、实现上的一个建议

这些能力和基础 DNS 管理相比,更偏向 Cloudflare 平台能力编排
如果后续要做,建议可以考虑按模块拆分,比如:

  • DNS 基础管理
  • Custom Hostnames
  • Certificates
  • Tunnels / Routes

这样一方面便于逐步迭代,另一方面后续维护和扩展也会更清晰,不一定要一次性全部做完。

七、为什么我觉得这部分值得做

因为在真实使用场景里,这几块往往是连在一起的:

  • DNS 解析管理
  • 证书状态查看
  • 自定义域名接入
  • Tunnel 暴露服务
  • 路由配置管理

如果 dnsmgr 后续能把这条链路打通,项目就不只是“DNS 管理工具”,而会更接近一个完整的 Cloudflare 运维管理平台
对于个人运维、小团队、SaaS 类项目来说,吸引力会很强。

以上仅是一些使用层面的建议,供参考。
如果后续有计划支持这部分能力,我觉得会非常值得期待。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions