En Transparent CDN implementamos Varnish Enterprise y por lo tanto puedes aprovechar todas las ventajas que esto supone.
En este caso implementamos el módulo cookieplus de Varnish.
Este módulo te permite interactuar con las cookies tanto de la request como de las respuesta. Podrás añadir, quitar, sacar el valor de la cabecera Cookie (req.http.Cookie) o incluso de la cabecera Set-Cookies (resp.http.Set-Cookie).
Todas las funciones mantienen un estado interno de la Cookie y el Set-Cookie hasta que lo liberes en la configuración mediante la función write() o setcookie_write().
Las operaciones con set-cookies solo puedes usarse donde los objetos resp o beresp esté disponible (vcl_deliver o vcl_backend_response)
sub vcl_recv{// Keep these Cookiescookieplus.keep("JSESSIONID");cookieplus.keep_regex("^BNES_SSESS");cookieplus.keep_regex("^SSESS[a-zA-Z0-9]+$");cookieplus.keep_regex("^SESS[a-zA-Z0-9]+$");// Any Cookie that is not kept will be removedcookieplus.write();}
sub vcl_backend_response{// Mark all Set-Cookies for removalcookieplus.setcookie_keep("");// Only allow these Set-Cookies if the URL allows for itif (bereq.url ~ "^/admin") {cookieplus.setcookie_keep("JSESSIONID");cookieplus.setcookie_keep_regex("^BNES_SSESS");cookieplus.setcookie_keep_regex("^SSESS[a-zA-Z0-9]+$");cookieplus.setcookie_keep_regex("^SESS[a-zA-Z0-9]+$");}// Any Set-Cookie that is not kept will be removedcookieplus.setcookie_write();}
Puedes encontrar una documentación completa del módulo cookieplus en este enlace de la documentación oficial de Varnish Enterprise.