12306抢票插件拖垮美国代码托管站Github

jopen 11年前

12306抢票插件拖垮美国代码托管站Github
最新版本的“12306 订票助手”已经移除 GitHub 上的资源引用

12306抢票插件拖垮美国代码托管站Github
目前该插件运行已恢复正常

        全球最大的社交编程及代码托管网站 GitHub,在 1 月 15 日晚间突然遭遇疑似 DDOS 攻击,访问大幅减慢。管理员通过日志查询,发现洪水般的访问竟来自中国的 12306 抢票插件。

        “12306 订票助手”的开发者 iccfish (木鱼)在 GitHub 上解释:他引用了托管在 Github 上的 Javascript 代码,不同浏览器又使用了该插件,导致大量请求涌向 Github,最终拖慢了服务器。

        这里不妨说说具体原因,供开发者参考:GitHub 有个未知安全检测,当访问比较频繁的时候,会直接返回 403 错误。作者就加了一条规则:如果返回的是 403,就每 5 秒重试一次,并且是永久重试。结果 GitHub 认为用户访问更频繁了,于是一直返回 403,最后成了死循环,再加上作者显然低估了抢票插件的用户数……就正好构成了 DDOS (Distributed Denial of Service,分布式拒绝服务)的定义。

        作者最终决定,15 日晚间将服务迁移到新浪云计算 SAE 平台上。目前 GitHub 已经恢复。SAE 工作人员已与作者取得联系,并给出了优化建议,截至目前运行正常

        这个故事提醒我们:永远不要低估“春运”这款产品的用户数,除了国产奇葩 12306,海外大神 GitHub 也能被拖垮。有人调侃,这只是中国网民帮 GitHub 做的一次压力测试。

        附:

        “12306 订票助手”作者网站:fishlee.net

来自: 新浪科技