侧边栏壁纸
博主头像
噗呲先生 - 差生工具多

行动起来,活在当下

  • 累计撰写 666 篇文章
  • 累计创建 80 个标签
  • 累计收到 201 条评论

目 录CONTENT

文章目录

✨ 定制你的Cloudflare错误页:开源项目`cloudflare-error-page`深度解析

噗呲先生
2025-12-16 / 0 评论 / 0 点赞 / 20 阅读 / 0 字 / 正在检测是否收录...

Image

大家好,我是你们的老朋友,技术博主老张。

在日常网站运营中,我们都希望能给用户提供一个流畅、友好的体验。但即便再完善的系统,也难免遇到突发状况。当网站出现故障时,一个清晰、专业的错误页面能有效缓解用户的焦虑。今天,我要给大家介绍一个开源项目——donlon/cloudflare-error-page,它能让你轻松定制出媲美Cloudflare官方的错误页面。

项目亮点:轻松打造专业错误页

这个项目旨在帮助开发者生成高度定制化视觉效果与Cloudflare官方页面一致的错误页面。它不仅能让你的网站在故障时保持专业形象,更重要的是,它提供了极大的灵活性。

核心优势一:资源自包含,性能卓越

项目作者在最新更新中,将所有图标都重新绘制为矢量图,并与样式表一起内联(inlined)到单个HTML文件中。这意味着你生成的错误页面无需额外加载任何外部资源!这无疑大大提升了页面的加载速度和可靠性,即使在网络条件不佳的情况下,也能迅速展示给用户。

核心优势二:多种生成方式,满足不同需求

  1. 在线编辑器:如果你只是想快速生成一个页面,或者测试不同参数的效果,项目提供了一个直观的在线编辑器。访问 virt.moe/cferr/editor/ 即可上手。

  2. 编程生成(Python为例):对于需要集成到后端服务、动态生成错误页的开发者,项目提供了Python库。安装和使用都非常简单:

    bash
    pip install git+https://github.com/donlon/cloudflare-error-page.git

    使用 render_cf_error_page 函数,你可以通过传入字典参数来定制页面内容:

    python
    import webbrowser
    from cloudflare_error_page import render as render_cf_error_page

error_page = render_cf_error_page({
'browser_status': {"status": 'ok'},
'cloudflare_status': {"status": 'error', "status_text": 'Error'},
'host_status': {"status": 'ok', "location": 'example.com'},
'error_source': 'cloudflare',
'what_happened': '

There is an internal server error on Cloudflare\'s network.

',
'what_can_i_do': '

Please try again in a few minutes.

',
})

with open('error.html', 'w') as f:
f.write(error_page)
webbrowser.open('error.html')

除了Python,项目也支持 **Node.js**,未来计划将Node.js包重构为可跨环境(浏览器/Node.js)使用的共享包,非常值得期待。

深度定制:参数解析

render 函数接受一个包含多种参数的字典,让你能精细控制错误页面的每一个细节。以下是一些常用且关键的参数:

  • html_title, title: 页面标题。
  • error_code: 错误码,如 500
  • time: 显示当前UTC时间。
  • browser_status, cloudflare_status, host_status: 分别控制浏览器、Cloudflare和源站的状态(okerror),包括状态文本和颜色。
  • error_source: 指明错误发生在哪一环(browser, cloudflare, host),决定错误指示器位置。
  • what_happened, what_can_i_do: 详细描述错误原因和用户可采取的措施,支持HTML富文本。
  • ray_id, client_ip: 显示Cloudflare Ray ID和用户IP地址,让页面看起来更真实。

总结

donlon/cloudflare-error-page 是一个功能强大且易于使用的开源项目,无论是个人博客还是企业级应用,都能从中受益。它不仅能提升用户体验,更能彰显你的技术品味。如果你正在寻找一个可靠、可定制的错误页面解决方案,不妨试试这个项目!

🔗 参考资料

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区