2011-10-07 74 views
0

有沒有一種方法可以在Varnish VCL語言中定義域列表?我想ACL的一些相似之處。我想要做這樣的事情(使用ACL作爲例子)。在VCL(光油配置語言)中定義列表

acl website_list { 
    '(www\.)?domain.tld'; 
    '(www\.)?domain2.tld'; 
} 
... 
if(req.http.Host ~ website_list) return(lookup); 

我可以只使用正則表達式單獨測試,但它是不是很可重複使用的,如果我想在VCL其他地方使用這些域名。

謝謝!

+0

你需要什麼的名單? –

回答

1

你可以有它設置標誌標頭中的測試條件下,然後測試,後來在:

sub vcl_recv { 
    if (req.http.Host ~ "^(www\.)?domain.tld" || 
     req.http.Host ~ "^(www\.)?domain2.tld") { 

    /* Set the magic marker */ 
    set beresp.http.magicmarker = "1"; 
    } 

    if (resp.http.magicmarker) { 
    return(lookup); 
    } 
}