S闻名于世的503‘¶
昨天,2021年6月8日,在大约一个小时的时间里,世界看到了这样的事情:

(警觉的读者会注意到它说的是“调解”,而不是“冥想”。我不知道为什么,但我知道该问谁,而且我会的。)
例如,人们在某种程度上情有可原地跳过这条错误信息,抱怨它太简洁了 Max Rozen 世卫组织对好的和合理的错误信息提出了一些好的和合理的建议。
但他的所有建议都需要一定数量的环境信息,而我们在Varnish缓存项目中没有也永远不会拥有这些信息。
当瓦尼什到达底部时, builtin.vcl 错误是,我们不知道Varnish实例运行在哪里,它为谁运行,它为什么信息服务,它为谁服务,最关键的是,什么信息可以安全地与客户端共享。
这就是为什么默认的“503上师冥想”只提到 XID :xid是一个现时值,实际上是一个随机数,但它允许负责该Varnish实例的人员挖掘他们的日志,并找出这个特定请求发生了什么。
我想要注意的另一件事是,您绝对不希望发生的一件事是“优先级反转”,即产生错误消息需要更多的CPU、数据库访问或带宽,而不是产生预期的结果。
此错误消息在所有方面都是最小的。
我很确定我从Fastly的CDN上看到过正常的503,它们不是这个样子的,所以昨天Fastly肯定出了严重的问题。
尽管我确信XID没有以任何方式帮助他们调试这个特定的问题,但我很高兴地看到我们的“最后的错误消息”做了它应该做的事情,就像它应该做的那样。
第一次503压力测试¶
当我们发布Varnish的第一个版本时,文本“Varnish缓存服务器”链接到了项目主页。
这个链接对我们来说就像是一场“病毒式营销活动”:当网民在另一个网页上看到503,通常是竞争对手的网页时,他们点击链接,了解他们正在运行的是什么软件。
由于每个人在第一次尝试运行Varnish时通常都会犯几个错误,所以越来越多的网络用户了解了Varnish缓存。
因此,有关Varnish缓存的消息传遍了全球。
一直到中国。
在那里,中国国家铁路公司推出了Varnish缓存。
犯了一些初学者的错误。
那天,很多中国网民都了解到了Varnish缓存。
和其他许多中国人一样,他们拿到的不是火车时刻表和火车票,而是几行英语,他们中的绝大多数人都不读或听不懂。
但其中也存在某种联系。
他们做了任何明智的网络用户都会做的事情。
他们点击了链接。
和DDoS的瓦尼什缓存项目服务器。
..。以及服务器所在的Redpill-Linprox数据中心。
..。以及宣布该数据中心前缀的诺维吉亚互联网服务提供商。
事实上,他们实际上打败了挪威。
(更新:我现在被来自挪威的人告诉我,这并没有太多的DDoS。由于我住在丹麦,我显然只知道这件事。(我自己体验到的唯一影响就是无法访问Trac服务器)。一路走来,有人泄露了这个故事。
然而,这确实促使我追踪到了准确的时间:2010年5月的Varnish版本2.1.2有链接,而同年7月的2.1.3版本没有。)
我的朋友们,这就是为什么Varnish缓存中的最后错误消息甚至不再包含链接。
/phk
PS:这篇文章的标题当然是对 John R. Garman's famous article 。