欧洲 MDN 访问故障

在过去的几天里,我们遇到了一个导致欧洲用户无法访问 MDN 文档的问题。我认为分享一下发生的事情的解释会很有趣,而且我们的欧洲用户也应该了解情况。

几天前,我们开始经历一轮持续的垃圾邮件攻击,用户创建账户、发布大量垃圾邮件,然后我封禁他们,他们又创建另一个账户继续如此。最后,很明显是同一个用户(或者可能是几个人合作)在制造所有这些垃圾邮件,所以我使用了我们的工具,根据用户名查找 IP 地址,发现它们都来自同一个 IP 地址,然后我封禁了该 IP 地址。

现在让我们转到我们的圣何塞数据中心,那里有一个处理路由的代理服务器。它存在一个之前未被发现的轻微配置问题:它没有追加到 X-Forwarded-For 标头,而是完全替换了该标头。结果:X-Forwarded-For 标头,原本应该列出最终用户的 IP 和任何中间代理服务器的 IP 地址,现在只列出了最近的代理服务器的 IP。

因此,如果一个用户从欧洲的某个地方连接到文档,他们会经过阿姆斯特丹代理服务器,然后转发到圣何塞代理服务器,后者会删除最终用户的 IP 地址并将其替换为代理服务器的地址,导致阿姆斯特丹代理服务器的 IP 地址看起来像是最终用户的 IP 地址。

结果,查找用户 IP 地址的工具报告的是阿姆斯特丹代理服务器之一的 IP 地址,而不是用户的 IP 地址,所以我实际上封禁的是阿姆斯特丹代理服务器,这意味着我们欧洲的用户无法可靠地连接。

一旦我们弄清楚发生了什么,修复起来就很容易了:我取消了对该 IP 地址的封禁,IT 部门修复了圣何塞代理服务器的配置,这样将来就不会再发生这种情况了。

对于由此造成的问题,我们深感抱歉,欢迎回到 MDN 文档的精彩世界!


2 条评论

  1. Danny Moules

    这解释了很多东西 :)

    PS。此博客需要 reCAPTCHA,但如果您禁用了跨域请求(例如,使用 RequestPolicy),则在 reCAPTCHA 失败之前无法告知您需要 reCAPTCHA。

    2011 年 3 月 29 日 17:17

  2. Mike Ratcliffe

    哈哈,你封禁了欧洲……太棒了!

    2011 年 3 月 30 日 10:35

本文评论已关闭。