Configuration

添加主機名作為自定義清漆標題

  • February 23, 2022

我有幾個清漆記憶體伺服器(v2.1),我希望在清漆響應的標題中添加主機名——所以我知道哪個伺服器正在(或不)提供記憶體頁面。Google搜尋後,我發現了這個片段,但它給出了錯誤:

sub vcl_deliver {
 if (obj.hits > 0) {
   set resp.http.X-MH-Cache ="HIT " obj.hits " "*
   server.hostname* " " resp.http.Age;
 } else {
   set resp.http.X-MH-Cache ="MISS " *server.hostname* ""
 }
}

我並不依賴於這個片段本身。理想情況下,我想在未命中或命中時設置主機名。

我對 vcl 文件相當陌生,因此非常感謝任何指導和幫助。非常感謝!

公里

偶然發現了這一點(不總是這樣嗎?):https ://www.varnish-cache.org/trac/wiki/VCLExampleHitMissHeader——正是我想要的。

錯誤更可能是由於星號,並且在建構“ X-MH-Cache響應標頭時缺少加號:

Unknown token '*' when looking for STRING

工作的 vcl 程式碼片段如下所示:

vcl 4.1;
import std;
sub vcl_deliver {
 if (obj.hits > 0) {
   set resp.http.X-MH-Cache = "HIT: " + obj.hits + " *" + server.hostname + "* Age: " + resp.http.Age;
 } else {
   set resp.http.X-MH-Cache = "MISS *" + server.hostname + "*";
 }
}

答案(2012 年 1 月 27 日)的 URL 的快照(2012 年 1 月 2 日)可在此處的 Internet 存檔站點上找到: https ://web.archive.org/web/20120309095329/https://www .varnish-cache.org/trac/wiki/VCLExampleHitMissHeader

引用自:https://serverfault.com/questions/353728