anchor.diff:      set req.grace = 24h;
     
       # set the backend server based on request (if multi-server stack)
  -  <% if @node[:chef][:roles].include?('staging') %>
  -    set req.backend = app_server_1;
  -  <% elsif @node[:chef][:roles].include?('proxy') %>
  +  <% if @node[:chef][:roles].include?('proxy') %>
       if (req.url ~ "^(/images|/javascripts|/flash|/stylesheets|/sitemap|/articles/html|/articles/xml|/regulations/html)") {
         set req.backend = static_server;
         return (lookup);
  +    <% if @node[:varnish][:blog_proxy_host] %>
  +    # logged in users must always pass
  +    }else if( req.url ~ "^/wp-(login|admin)" || req.http.Cookie ~ "wordpress_logged_in_" ){
  +        set req.backend = blog_server;
  +        return (pass);
  +    } else if (req.url ~ "^(/blog|/policy|/learn|/layout/footer_page_list|/wp-)") {
  +        set req.backend = blog_server;
  +    <% end %>
       } else {
         set req.backend = app_director;
       }
  
positive.code:     else {
          esi;
      }
  }
  
  # vcl_hash creates the key for varnish under which the object is stored. It is
  
negative.code:     if (req.url ~ "^/admin/") {
          return (pass);
      }
      
      # Prevent duplication of caches
      set req.http.host = "www.<%= @node[:varnish][:proxy_host_name] %>";
      
  