Biraz araştırdım konuyu varnish sürüm gizlense bile nginx sunucu üst bilgilerini göstermeye devam ediyor.

Örnek Varnish ayarı :


sub vcl_deliver {

# Remove some HTTP-headers:
unset resp.http.Server;
unset resp.http.X-Varnish;
unset resp.http.Via;
unset resp.http.X-Cacheable;
unset resp.http.Age;

return (deliver);
}


Nginx için server üst bilgi gizleme ayarı:

Ngx_security_headers kullanımı (nginx.conf içerisinde)


load_module modules/ngx_http_security_headers_module.so;

http {
...
security_headers on;
...
}



load_module modules/ngx_http_headers_more_filter_module.so;

http {
...
more_clear_headers Server;
...
}


Tamamen Nginx kullanımını gizleme :


sed -i 's@"nginx/"@"-/"@g' src/core/nginx.h
sed -i 's@r->headers_out.server == NULL@0@g' src/http/ngx_http_header_filter_module.c
sed -i 's@r->headers_out.server == NULL@0@g' src/http/v2/ngx_http_v2_filter_module.c
sed -i 's@
nginx
@@g' src/http/ngx_http_special_response.c


ayarlar bu şekilde olduğunda sanırım hem varnish hemde nginx sunucu bilgilerini gizliyor. Test etmedim, sonucu buraya yazarsan sevinirim.