北京时间2025年3月10日下午14时许,知名开源代码托管平台Codeberg突然出现大规模服务中断。全球用户无法访问官网、无法执行git推送或拉取操作,众多依赖该平台的开源项目协作陷入停滞。截至发稿时,Codeberg官方尚未公布完整的事故原因,但已确认正在紧急修复中。

突发:访问全面瘫痪

据用户反馈,宕机最初表现为官网首页返回502 Bad Gateway错误,git服务则显示“Connection refused”。随后,Codeberg的状态页面(status.codeberg.org)更新为“遭到重大服务中断”,并标注影响范围涵盖代码仓库、Issues、Pull Requests、Wiki以及Pages静态托管等全部核心功能。

多名开发者向记者表示,他们在尝试推送代码时反复遇到认证失败或超时。“我正准备合并一个重要的安全补丁,结果整个仓库都打不开了。”一位来自德国的开源贡献者抱怨道。在社交平台Mastodon上,相关标签迅速登上趋势榜,大量用户发帖询问恢复时间,并对数据完整性表示担忧。

影响范围:波及全球数千项目

Codeberg是一个基于Forgejo(Gitea分支)的开源代码托管平台,由非营利组织Codeberg e.V.运营。其定位是“去中心化、自由、无广告”的Git托管服务,尤其受到自由软件基金会、隐私倡导者以及欧洲开源社区的青睐。据公开数据,Codeberg托管了超过10万个仓库,涵盖从个人小工具到大型系统级软件(如某些Linux发行版的工具链)。

此次宕机直接导致这些仓库的协作中断。对于采用持续集成(CI/CD)的团队,自动构建流水线全部失败;对于依赖Codeberg Pages托管文档的项目,相关网页也变为不可达。更严重的是,部分开发者在本地没有完整副本,只能等待服务恢复才能继续工作。

可能原因:从硬件故障到恶意攻击

截至发稿,Codeberg官方仅表示“正在调查故障源”,并未透露更多细节。但根据部分运维人员的猜测,可能原因包括:

  1. 存储系统故障:Codeberg的仓库数据存储在后端对象存储中,若存储节点出现硬件故障或网络分区,可能导致整个集群不可用。
  2. 证书或域名解析问题:有用户注意到DNS解析偶尔返回异常IP,不排除CDN或HTTPS证书配置错误引发连锁反应。
  3. DDoS攻击:近期针对开源基础设施的攻击事件频发,Codeberg作为强调隐私的平台,可能成为新的目标。
  4. 数据库迁移或升级失败:Forgejo社区版近期发布了重要安全更新,若升级过程中未充分测试,可能引发意外。

不过,这些均为外界推测。业界常见的做法是等待官方发布事后报告(Post-mortem)。

用户自救指南与替代方案

面对突发宕机,资深开发者建议采取以下应急措施:

  • 本地已有完整克隆的用户:可继续在本地分支上工作,待服务恢复后强制推送。
  • 需要协作的项目:可临时切换到其他平台,例如使用GitHub的import功能、自建Gitea实例,或利用Git的远程仓库多样性(如同时推送到多个源)。
  • 关注状态页面:Codeberg状态页面每30分钟更新一次,并已于当晚18时确认“部分服务开始恢复”,但git服务仍不稳定。

一些用户也在探讨“去中心化”的替代理念,例如使用Radicle、Radicle等基于IPFS或点对点协议的代码协作工具,以减少对单一服务器的依赖。

开源基础设施的脆弱性与韧性

此次宕机再次引发了对开源基础设施单点风险的讨论。尽管Codeberg的运营者长期宣传其“非营利、社区驱动”的价值观,但本次事件暴露了其运维资源相对有限的问题。相比之下,GitHub和GitLab拥有更庞大的工程师团队和冗余架构,宕机时长通常较短。

不过,也有支持者指出,Codeberg的透明度和社区自治恰恰是其价值所在。“即便宕机,他们也会发布详细的事故报告,而不是敷衍了事。这是商业平台做不到的。”一位长期贡献者说。

最新进展

截至3月10日23时,Codeberg状态页面显示:

  • 网站前台已恢复访问,但git服务仍处于“减速”状态(rate-limited)。
  • 官方表示“未发现数据丢失”,并将在72小时内发布完整报告。
  • 部分镜像站点已开启只读访问,用于下载已有仓库的快照。

业内人士提醒,无论使用何种托管服务,都应遵循“3-2-1备份策略”:至少三份副本,两种不同介质,一份异地存储。在Codeberg完全恢复前,建议开发者不要轻易删除本地仓库。

我们将持续关注此事,并在第一时间带来官方回复和更多技术细节。