selam @alperi,

cevap gözümden kaçmış yeni gördüm.
denedim işe yaramadı yada ben bir şekilde beceremedim.

kodu ilgili bloğa bir kaç değişik düzende ekledim.
kimilerinde varnish'i restart ettiğimde config hatası veriyor.

alttaki şekilde eklediğimde config hatası vermiyor ama "varnish 5" imzası hala çıkıyor.
(config'i değiştirdikten sonra varnish+nginx+php hepsini restart ettim)

bendeki yapı.
CloudFlare -> varnish -> nginx -> wordpress şeklinde çalışıyor.


vcl 4.0;

backend default {
# .host = "localhost";
.host = "127.0.0.1";
.port = "8080";
}

acl purger {
"localhost";
"ip.v4.adresi";
"ip.v6.adresi";
}

sub vcl_recv {

if (req.method == "PURGE") {
if (!client.ip ~ purger) {
return(synth(405, "This IP is not allowed to send PURGE requests."));
}
return (purge);
}

if (req.restarts == 0) {
if (req.http.X-Forwarded-For) {
set req.http.X-Forwarded-For = client.ip;
}
}

if (req.http.Authorization || req.method == "POST") {
return (pass);
}

if (req.url ~ "/feed") {
return (pass);
}


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

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

if (req.http.cookie == "") {
unset req.http.cookie;
}
}

sub vcl_purge {
set req.method = "GET";
set req.http.X-Purger = "Purged";
return (restart);
}

sub vcl_backend_response {
set beresp.ttl = 12h;
set beresp.grace = 2h;
if (bereq.url !~ "wp-admin|wp-login|product|cart|checkout|my-account|/?remove_item=") {
unset beresp.http.set-cookie;
}
}


sub vcl_deliver {

if (req.http.X-Purger) {
set resp.http.X-Purger = req.http.X-Purger;
}


unset resp.http.server;
unset resp.http.via;
unset resp.http.x-powered-by;
unset resp.http.x-runtime;
unset resp.http.x-varnish;

set resp.http.Server = "birseyler";
set resp.http.X-Powered-By = "baskabirseyler";

}


önerilere açığım.