0

所以快速使用 varnish 2.1.5 的修改版本

它们不提供子程序请求流程的图表,但 varnish 提供(见下文)。

现在,根据下图,只有在执行withinvcl_hash时才会输入。但根据 Fastly 的一位工程师的说法……lookupvcl_recv

vcl_hash几乎在所有情况下都会执行(除非你restartvcl_recv

那么它是哪一个?有谁知道这是一个 Fastly 特定的实现,还是只是官方清漆图未指明的东西和/或是否有在另一个子例程完成时自动输入vcl_*子例程?

还有其他人知道的“陷阱”吗?

4

1 回答 1

0

我不知道很快,但 Varnish 有一个“default.vcl”(在更高版本中为“buildin.vcl”),它定义了所有 VCL 方法的默认版本,例如“vcl_recv”。这是2.1.5版本:

https://github.com/varnishcache/varnish-cache/blob/varnish-2.1.5/bin/varnishd/default.vcl

现在,如果您不在“vcl_recv”中调用“return”(除非您在某些情况下明确想要返回“pass”、“error”或“pipe”,否则不应调用)默认的“vcl_recv”被调用并返回“查找”所有没有设置 Cookie 或 Authorization-header 的 GET/HEAD 请求。

于 2017-10-22T09:08:34.697 回答