2016-12-30 6 views
0

Ist es möglich, ein Element aus dem Hash zu entfernen, das bereits durch einen vorherigen Aufruf von hash_data() hinzugefügt wurde?Varnish remove from hash_data

Ich habe ein Lack 3-Server vor einem Standard-LAMP-Stack und mit Hilfe der Maxmind geoip VMOD pro Lack Dokumentation außer es ist eine VCL-Datei enthalten, die ich haben keine Berechtigung zu bearbeiten, die im Grunde genommen hat:

sub vcl_hash { 
    if (req.http.X-Geo-Country) { 
    hash_data(req.http.X-Geo-Country); 
    } 
} 

ich weiß, dass ich mehrmals aufrufen vcl_hash können und sie zu verketten, um was so würde ich mag so etwas wie die unten zu tun ist (un_hash_data existiert nicht), so dass nur die Homepage Hashes auf req basiert. http.X-Geo-Land. Gibt es etwas wie un_hash_data(), das dies aus dem Hash entfernen kann.

sub vcl_hash { 
    if (req.url == "/") { 
    un_hash_data(req.http.X-Geo-Country); 
    } 
} 

Antwort

0

In vcl_recv können Sie req.http.X-Geo-Land für die Seiten/Anfragen zusetzen, die nicht Homepage übereinstimmen. Wenn X-Geo-Country nicht gesetzt/leer ist, wird der gleiche Hash erstellt :)