2019-07-19 07:27:25 +08:00
|
|
|
acl purge {
|
|
|
|
"localhost";
|
|
|
|
"127.0.0.1";
|
|
|
|
}
|
|
|
|
|
|
|
|
backend sqlapi {
|
|
|
|
.host = "127.0.0.1";
|
|
|
|
.port = "8080";
|
|
|
|
}
|
|
|
|
|
|
|
|
backend windshaft {
|
|
|
|
.host = "127.0.0.1";
|
|
|
|
.port = "8181";
|
|
|
|
}
|
|
|
|
|
|
|
|
sub vcl_recv {
|
|
|
|
# Allowing PURGE from localhost
|
|
|
|
if (req.request == "PURGE") {
|
|
|
|
if (!client.ip ~ purge) {
|
|
|
|
error 405 "Not allowed.";
|
|
|
|
}
|
|
|
|
return (lookup);
|
|
|
|
}
|
|
|
|
|
|
|
|
# Routing request to backend based on X-Carto-Service header from nginx
|
|
|
|
if (req.http.X-Carto-Service == "sqlapi") {
|
|
|
|
set req.backend = sqlapi;
|
|
|
|
remove req.http.X-Carto-Service;
|
|
|
|
}
|
|
|
|
if (req.http.X-Carto-Service == "windshaft") {
|
|
|
|
set req.backend = windshaft;
|
|
|
|
remove req.http.X-Carto-Service;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sub vcl_hit {
|
|
|
|
if (req.request == "PURGE") {
|
|
|
|
purge;
|
|
|
|
error 200 "Purged.";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sub vcl_miss {
|
|
|
|
if (req.request == "PURGE") {
|
|
|
|
purge;
|
|
|
|
error 200 "Purged.";
|
|
|
|
}
|
2017-04-04 04:46:52 +08:00
|
|
|
}
|