1

我能够配置清漆,但我猜它没有缓存。在响应标头中,我看到了以下属性:

Url : corp.zip.pr

Age →0 
Via →1.1 varnish-v4 
X-Varnish →98319 

我的 default.vcl 文件如下:

# Marker to tell the VCL compiler that this VCL has been adapted to the 
# new 4.0 format. 
vcl 4.0; 

# Default backend definition. Set this to point to your content server. 
backend default { 
.host = "127.0.0.1"; 
.port = "8080"; 
} 

sub vcl_recv { 
# Happens before we check if we have this in cache already. 
# 
# Typically you clean up the request here, removing cookies you don't need, 
# rewriting the request, etc. 

if (req.method == "PURGE") { 

if (req.http.X-Purge-Method == "regex") { 

ban("req.url ~ " + req.url + " && req.http.host ~ " + req.http.host); 

return (synth(200, "Banned.")); 

} else { 

return (purge); 

} 
} 


if (req.url ~ "wp-admin|wp-login") { 
return (pass); 

} 

if (!(req.url ~ "wp-(login|admin)")) {
                unset req.http.cookie;
}


set req.http.cookie = regsuball(req.http.cookie, "wp-settings-d+=[^;]+(; )?", ""); 

set req.http.cookie = regsuball(req.http.cookie, "wp-settings-time-d+=[^;]+(; )?", ""); 

set req.http.cookie = regsuball(req.http.cookie, "wordpress_test_cookie=[^;]+(; )?", ""); 

if (req.http.cookie == "") { 

unset req.http.cookie; 
} 
} 

sub vcl_backend_response { 
# Happens after we have read the response headers from the backend. 
# 
# Here you clean the response headers, removing silly Set-Cookie headers 
# and other mistakes your backend does. 


if (beresp.ttl == 120s) { 

set beresp.ttl = 600s; 

} 
} 

sub vcl_deliver { 
# Happens when we have all the pieces we need, and are about to send the 
# response to the client. 
# 
# You can do accounting or modifying the final object here. 
} 

此外,varnishlog 不起作用。当我在终端中键入 varnishlog 时,我看到以下消息。

无法打开 /opt/bitnami/varnish/var/varnish/_.vsm:没有这样的文件或目录

我检查了文件位置。_.vsm这里不存在。我检查了 varnishd 进程使用的 vsm 位置。这是不同的

/var/lib/varnish/ip-172-31-10-1/
4

1 回答 1

1

你没有return (hash);在你的vcl_recv函数中,将它添加到函数体的末尾,重新启动清漆并检查它是否有效。

我觉得你的 vcl 很奇怪,也许试试这个例如https://www.htpcguides.com/configure-wordpress-varnish-4-cache-with-apache-or-nginx/

于 2016-12-13T19:55:40.877 回答