nexcess / magento-turpentine

A Varnish extension for Magento.
GNU General Public License v2.0
519 stars 253 forks source link

ESI cached blocks not finding custom skin images #884

Closed Silarn closed 8 years ago

Silarn commented 9 years ago

When we turn on the Turpentine ESI Block caching, we find that once the page has been cached by varnish, various elements which should be located and served from our custom skin directory (skin/frontend/default/f002_servermonkey/images) are instead served from the base skin directory (skin/frontend/base/default/images) resulting in 404s for these images.

I've duplicated this problem both on our production server and a local vagrant box. What can I do to fix this?

Silarn commented 9 years ago

This is a Magento 1.9.2.1 setup, and here is my vagrant-based default.vcl file.

C{
#include 
#include 
#include 
#include 
static pthread_mutex_t lrand_mutex = PTHREAD_MUTEX_INITIALIZER;
void generate_uuid(char* buf) {
pthread_mutex_lock(&lrand_mutex);
long a = lrand48();
long b = lrand48();
long c = lrand48();
long d = lrand48();
pthread_mutex_unlock(&lrand_mutex);
sprintf(buf, "frontend=%08lx%04lx%04lx%04lx%04lx%08lx",
a,
b & 0xffff,
(b & ((long)0x0fff0000) >> 16) | 0x4000,
(c & 0x0fff) | 0x8000,
(c & (long)0xffff0000) >> 16,
d
);
return;
}
}C
import std;
backend default {
.host = "localhost";
.port = "8080";
.first_byte_timeout = 300s;
.between_bytes_timeout = 300s;
}
backend admin {
.host = "localhost";
.port = "8080";
.first_byte_timeout = 21600s;
.between_bytes_timeout = 21600s;
}
acl crawler_acl {
"localhost";
}
acl debug_acl {
"50.59.79.34";
}
/* -- REMOVED
sub generate_session {
if (req.url ~ ".*[&?]SID=([^&]+).*") {
set req.http.X-Varnish-Faked-Session = regsub(
req.url, ".*[&?]SID=([^&]+).*", "frontend=\1");
} else {
C{
char uuid_buf [50];
generate_uuid(uuid_buf);
VRT_SetHdr(sp, HDR_REQ,
"\030X-Varnish-Faked-Session:",
uuid_buf,
vrt_magic_string_end
);
}C
}
if (req.http.Cookie) {
std.collect(req.http.Cookie);
set req.http.Cookie = req.http.X-Varnish-Faked-Session +
"; " + req.http.Cookie;
} else {
set req.http.Cookie = req.http.X-Varnish-Faked-Session;
}
}
sub generate_session_expires {
C{
time_t now = time(NULL);
struct tm now_tm = *gmtime(&now);
now_tm.tm_sec += 86400;
mktime(&now_tm);
char date_buf [50];
strftime(date_buf, sizeof(date_buf)-1, "%a, %d-%b-%Y %H:%M:%S %Z", &now_tm);
VRT_SetHdr(sp, HDR_RESP,
"\031X-Varnish-Cookie-Expires:",
date_buf,
vrt_magic_string_end
);
}C
}
-- */
sub vcl_recv {
if (req.restarts == 0) {
if (req.http.X-Forwarded-For) {
set req.http.X-Forwarded-For =
req.http.X-Forwarded-For + ", " + client.ip;
} else {
set req.http.X-Forwarded-For = client.ip;
}
}
if (req.http.Accept-Encoding) {
if (req.http.Accept-Encoding ~ "gzip") {
set req.http.Accept-Encoding = "gzip";
} else if (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
unset req.http.Accept-Encoding;
}
}
if (!true || req.http.Authorization ||
req.request !~ "^(GET|HEAD|OPTIONS)$" ||
req.http.Cookie ~ "varnish_bypass=1") {
return (pipe);
}
set req.url = regsuball(req.url, "([^:])//+", "\1/");
if (req.url ~ "^(/media/|/skin/|/js/|/)(?:(?:index|litespeed)\.php/)?") {
set req.http.X-Turpentine-Secret-Handshake = "1";
if (req.url ~ "^(/media/|/skin/|/js/|/)(?:(?:index|litespeed)\.php/)?admin") {
set req.backend = admin;
return (pipe);
}
if (req.http.Cookie ~ "\bcurrency=") {
set req.http.X-Varnish-Currency = regsub(
req.http.Cookie, ".*\bcurrency=([^;]*).*", "\1");
}
if (req.http.Cookie ~ "\bstore=") {
set req.http.X-Varnish-Store = regsub(
req.http.Cookie, ".*\bstore=([^;]*).*", "\1");
}
if (req.url ~ "/turpentine/esi/get(?:Block|FormKey)/") {
set req.http.X-Varnish-Esi-Method = regsub(
req.url, ".*/method/(\w+)/.*", "\1");
set req.http.X-Varnish-Esi-Access = regsub(
req.url, ".*/access/(\w+)/.*", "\1");
if (req.http.X-Varnish-Esi-Method == "esi" && req.esi_level == 0 &&
!(true || client.ip ~ debug_acl)) {
error 403 "External ESI requests are not allowed";
}
}
if (req.http.host !~ "(192\.168\.33\.10)") {
return (pass);
}
if (req.http.Cookie !~ "frontend=" && !req.http.X-Varnish-Esi-Method) {
if (client.ip ~ crawler_acl ||
req.http.User-Agent ~ "^(?:ApacheBench/.*|.*Googlebot.*|JoeDog/.*Siege.*|magespeedtest\.com|Nexcessnet_Turpentine/.*)$") {
set req.http.Cookie = "frontend=crawler-session";
} else {
return (pipe);
}
}
if (true &&
req.url ~ ".*\.(?:css|js|jpe?g|png|gif|ico|swf)(?=\?|&|$)") {
unset req.http.Cookie;
unset req.http.X-Varnish-Faked-Session;
return (lookup);
}
if (req.url ~ "^(/media/|/skin/|/js/|/)(?:(?:index|litespeed)\.php/)?(?:admin|api|cron.php|enhancedgrid/catalog_product/|wsastorepickup/adminhtml_wsastorepickup/|boxmenu/adminhtml_boxmenu/|amfeed/adminhtml_profile/|amfeed/adminhtml_field/|amshopby/adminhtml_filter/|amshopby/adminhtml_range/|amshopby/adminhtml_page/|GuestToReg/adminhtml_GuestToRegForm/|amseogooglesitemap/adminhtml_sitemap/|ammeta/adminhtml_config/|piwikanalytics/|amfpccrawler/adminhtml_stats/|amfpccrawler/adminhtml_log/|amfpccrawler/adminhtml_queue/|wsalogger/adminhtml_log/|noovias_cron/adminhtml_schedule/|noovias_cron/adminhtml_history/|noovias_cron/adminhtml_settings/|ammeta/adminhtml_custom/)" ||
req.url ~ "\?.*__from_store=") {
return (pipe);
}
if (true &&
req.url ~ "(?:[?&](?:__SID|XDEBUG_PROFILE)(?=[&=]|$))") {
return (pass);
}
if (true && req.url ~ "[?&](utm_source|utm_medium|utm_campaign|utm_content|utm_term|gclid|cx|ie|cof|siteurl)=") {
set req.url = regsuball(req.url, "(?:(\?)?|&)(?:utm_source|utm_medium|utm_campaign|utm_content|utm_term|gclid|cx|ie|cof|siteurl)=[^&]+", "\1");
set req.url = regsuball(req.url, "(?:(\?)&|\?$)", "\1");
}
return (lookup);
}
}
sub vcl_pipe {
unset bereq.http.X-Turpentine-Secret-Handshake;
set bereq.http.Connection = "close";
}
sub vcl_hash {
hash_data(req.url);
if (req.http.Host) {
hash_data(req.http.Host);
} else {
hash_data(server.ip);
}
hash_data(req.http.Ssl-Offloaded);
if (req.http.X-Normalized-User-Agent) {
hash_data(req.http.X-Normalized-User-Agent);
}
if (req.http.Accept-Encoding) {
hash_data(req.http.Accept-Encoding);
}
if (req.http.X-Varnish-Store || req.http.X-Varnish-Currency) {
hash_data("s=" + req.http.X-Varnish-Store + "&c=" + req.http.X-Varnish-Currency);
}
if (req.http.X-Varnish-Esi-Access == "private" &&
req.http.Cookie ~ "frontend=") {
hash_data(regsub(req.http.Cookie, "^.*?frontend=([^;]*);*.*$", "\1"));
}
if (req.http.X-Varnish-Esi-Access == "customer_group" &&
req.http.Cookie ~ "customer_group=") {
hash_data(regsub(req.http.Cookie, "^.*?customer_group=([^;]*);*.*$", "\1"));
}
return (hash);
}
sub vcl_hit {
}
sub vcl_fetch {
set req.grace = 15s;
set beresp.http.X-Varnish-Host = req.http.host;
set beresp.http.X-Varnish-URL = req.url;
if (req.url ~ "^(/media/|/skin/|/js/|/)(?:(?:index|litespeed)\.php/)?") {
unset beresp.http.Vary;
set beresp.do_gzip = true;
if (beresp.status != 200 && beresp.status != 404) {
set beresp.ttl = 15s;
return (hit_for_pass);
} else {
if (beresp.http.Set-Cookie) {
set beresp.http.X-Varnish-Set-Cookie = beresp.http.Set-Cookie;
unset beresp.http.Set-Cookie;
}
unset beresp.http.Cache-Control;
unset beresp.http.Expires;
unset beresp.http.Pragma;
unset beresp.http.Cache;
unset beresp.http.Age;
if (beresp.http.X-Turpentine-Esi == "1") {
set beresp.do_esi = true;
}
if (beresp.http.X-Turpentine-Cache == "0") {
set beresp.ttl = 15s;
return (hit_for_pass);
} else {
if (true &&
bereq.url ~ ".*\.(?:css|js|jpe?g|png|gif|ico|swf)(?=\?|&|$)") {
set beresp.ttl = 28800s;
set beresp.http.Cache-Control = "max-age=28800";
} elseif (req.http.X-Varnish-Esi-Method) {
if (req.http.X-Varnish-Esi-Access == "private" &&
req.http.Cookie ~ "frontend=") {
set beresp.http.X-Varnish-Session = regsub(req.http.Cookie,
"^.*?frontend=([^;]*);*.*$", "\1");
}
if (req.http.X-Varnish-Esi-Method == "ajax" &&
req.http.X-Varnish-Esi-Access == "public") {
set beresp.http.Cache-Control = "max-age=" + regsub(
req.url, ".*/ttl/(\d+)/.*", "\1");
}
set beresp.ttl = std.duration(
regsub(
req.url, ".*/ttl/(\d+)/.*", "\1s"),
300s);
if (beresp.ttl == 0s) {
set beresp.ttl = 15s;
return (hit_for_pass);
}
} else {
set beresp.ttl = 3600s;
}
}
}
return (deliver);
}
}
sub vcl_deliver {
if (req.http.X-Varnish-Faked-Session) {
set resp.http.Set-Cookie = req.http.X-Varnish-Faked-Session +
"; expires=" + resp.http.X-Varnish-Cookie-Expires + "; path=/";
if (req.http.Host) {
if (req.http.User-Agent ~ "^(?:ApacheBench/.*|.*Googlebot.*|JoeDog/.*Siege.*|magespeedtest\.com|Nexcessnet_Turpentine/.*)$") {
set resp.http.Set-Cookie = resp.http.Set-Cookie +
"; domain=" + regsub(req.http.Host, ":\d+$", "");
} else {
if(req.http.Host ~ "") {
set resp.http.Set-Cookie = resp.http.Set-Cookie +
"; domain=";
} else {
set resp.http.Set-Cookie = resp.http.Set-Cookie +
"; domain=" + regsub(req.http.Host, ":\d+$", "");
}
}
}
set resp.http.Set-Cookie = resp.http.Set-Cookie + "; httponly";
unset resp.http.X-Varnish-Cookie-Expires;
}
if (req.http.X-Varnish-Esi-Method == "ajax" && req.http.X-Varnish-Esi-Access == "private") {
set resp.http.Cache-Control = "no-cache";
}
if (true || client.ip ~ debug_acl) {
set resp.http.X-Varnish-Hits = obj.hits;
set resp.http.X-Varnish-Esi-Method = req.http.X-Varnish-Esi-Method;
set resp.http.X-Varnish-Esi-Access = req.http.X-Varnish-Esi-Access;
set resp.http.X-Varnish-Currency = req.http.X-Varnish-Currency;
set resp.http.X-Varnish-Store = req.http.X-Varnish-Store;
} else {
unset resp.http.X-Varnish;
unset resp.http.Via;
unset resp.http.X-Powered-By;
unset resp.http.Server;
unset resp.http.X-Turpentine-Cache;
unset resp.http.X-Turpentine-Esi;
unset resp.http.X-Turpentine-Flush-Events;
unset resp.http.X-Turpentine-Block;
unset resp.http.X-Varnish-Session;
unset resp.http.X-Varnish-Host;
unset resp.http.X-Varnish-URL;
unset resp.http.X-Varnish-Set-Cookie;
}
}
aricwatson commented 9 years ago

What version of Turpentine are you using? What caching policies have you set up for the blocks that use these images (if any)? Have you tried turning on debug logging to see if there's anything useful in there?

Silarn commented 9 years ago

Should be current master commit via modman. Right now I'm just using the default policy for the header/footer blocks.

A request looks pretty much like this:

2015-08-12T20:45:49+00:00 DEBUG (7): TURPENTINE: Cleared ESI cache for client (qauo9vakrujtmuq752cor1dok2) on event: core_session_abstract_add_message
2015-08-12T20:45:49+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: root
2015-08-12T20:45:49+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: head
2015-08-12T20:45:49+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: head.calendar
2015-08-12T20:45:49+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: global_notices
2015-08-12T20:45:49+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: header
2015-08-12T20:45:49+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: menu
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: notifications
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: notification_baseurl
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache_notifications
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: notification_survey
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: notification_security
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: notification_toolbar
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: notification_window
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: index_notifications
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: amazon_payments_notifications
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ampromo
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: left
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: messages
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: content
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: amupdate
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache.child1
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache.child2
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache.grid
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache.grid.child3
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: formkey
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_60
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache.additional
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: page.cache.additional
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cache.additional.merchandiser
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: turpentine_management
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: formkey
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: footer
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_66
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: js
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: profiler
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: before_body_end
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: bubble_highlighter
2015-08-12T20:45:50+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: bubblelauncher
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: header.additional
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: root
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: head
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: js_cookies
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: optional_zip_countries
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: head.child2
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: amazon_payments.script
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: winter.promo.metas
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: tegdesign_mixpanel_head
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: abtester
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: jquery-clear
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: custommetatags
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: after_body_start
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: turpentine_notices
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: monkey_analytics
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: global_notices
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: header
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Block check passed, injecting block: header
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: breadcrumbs
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: global_messages
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Block check passed, injecting block: global_messages
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: content
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: emailcatcher
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: page_content_heading
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cms.wrapper
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: cms_page
2015-08-12T20:45:53+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_86
2015-08-12T20:45:54+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_88
2015-08-12T20:45:54+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_90
2015-08-12T20:45:55+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_92
2015-08-12T20:45:55+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_94
2015-08-12T20:45:56+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_95
2015-08-12T20:45:56+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_97
2015-08-12T20:45:58+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_99
2015-08-12T20:45:59+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_101
2015-08-12T20:45:59+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_103
2015-08-12T20:46:00+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_104
2015-08-12T20:46:00+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_106
2015-08-12T20:46:00+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_108
2015-08-12T20:46:01+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_110
2015-08-12T20:46:02+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_112
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_113
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_114
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: messages
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Block check passed, injecting block: messages
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: tegdesign_mixpanel_homepage
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: left
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: catalog.left
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: left_blocks.1
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: buyback
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: specials
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: left_blocks.2
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ewaste
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: facebooklike
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: tags_popular
2015-08-12T20:46:03+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: blog_feed
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: blog.feed.spacer
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: monkey.newsletter
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: left.testimonials
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: footer
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Block check passed, injecting block: footer
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: before_body_end
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: global_cookie_notice
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: amseorichdata.header
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: piwik_analytics
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: monkey_analytics_footer
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: monkey_snow
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: core_profiler
2015-08-12T20:46:04+00:00 DEBUG (7): TURPENTINE: Set Varnish cache flag header to: 1
2015-08-12T20:46:04+00:00 DEBUG (7): TURPENTINE: Set ESI flag header to: 1
2015-08-12T20:46:04+00:00 DEBUG (7): TURPENTINE: Matched router: cms
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: header.additional
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: header
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: top.links
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: wishlist_link
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: store_language
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: top.search
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: welcome
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: top.menu
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: catalog.topnav
2015-08-12T20:46:04+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_12
2015-08-12T20:46:04+00:00 DEBUG (7): TURPENTINE: Set Varnish cache flag header to: 1
2015-08-12T20:46:04+00:00 DEBUG (7): TURPENTINE: Set ESI flag header to: 0
2015-08-12T20:46:05+00:00 DEBUG (7): TURPENTINE: Matched router: cms
2015-08-12T20:46:05+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: footer
2015-08-12T20:46:05+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_8
2015-08-12T20:46:05+00:00 INFO (6): TURPENTINE: Checking ESI block candidate: ANONYMOUS_9
2015-08-12T20:46:05+00:00 DEBUG (7): TURPENTINE: Set Varnish cache flag header to: 1
2015-08-12T20:46:05+00:00 DEBUG (7): TURPENTINE: Set ESI flag header to: 0
2015-08-12T20:46:07+00:00 DEBUG (7): TURPENTINE: Set Varnish cache flag header to: 1
2015-08-12T20:46:07+00:00 DEBUG (7): TURPENTINE: Set ESI flag header to: 0

Whoops, copied an admin request. Updated snippet above for an unprimed request followed by a primed request.

Silarn commented 9 years ago

Here's a debug snippet from the HTML response matching the header tag above:

<!-- ESI START [header] -->
<!-- ESI URL: http://192.168.33.10/turpentine/esi/getBlock/method/esi/access/private/ttl/86400/hmac/0e7af6f2c5726a75381c02fc8e7bbc6631740be6379380882fbeb83a9e3fe188/data/MQ.bq.BX4TARaQ52KSiQ03tuWxy8GnFTi6RwCxydbiSjZ5O6pkkUs.9j8eV8XDirJm.fYyehbPfKFaE.T0oOfS2wcJ3TPayUR1INdVycg20CSfFNv7CtX.v2tKL318FqipdKwz2MraD5iIgku9.RDdoSMUO-vqfJypgUcuyRACUSvIsLZDaY4U8ZzuXZjXCVx80JNxT0nW0FPjmFsaC4yB7D1ZMRG0HEnS77sEmRTpdtvjbGj6HgnQhGyI8xAW64O5HfuXc4yejti8pmREoiDFm3P0slnbNKdFFSOtbWeTqgXsbn4ioDiIMTdqei8.H9BFWtdCOFuDDDkqCkodPJ8L1Q7cfrchmxYfuc9zdW2hqk4A3Ip.EEeC.SsI-lJcQBexBhT3rMzyiSpQ3zIzi.K-EyNLUDdqQQ/ -->

 <div class="header">
<div class="header-container">
<div class="header-top">
    <div class="header-topbar">

         <div id="interact-box">
            <ul id="social">
              <li><a href="https://plus.google.com/100964555460246205539" rel="publisher" target="_blank"><img src="//ssl.gstatic.com/images/icons/gplus-32.png" alt="Google+" style="border:0;width:21px;height:21px;"/></a></li>
              <li><a href="https://twitter.com/MyServerMonkey" target="_blank" id="twitter-btn"><span>Twitter</span></a></li>
              <li><a href="https://www.facebook.com/pages/ServerMonkey/131255126952714" target="_blank" id="facebook-btn"><span>Facebook</span></a></li>
            </ul>
           <ul id="contact">
                <li id="phone">1-855-477-8377</li>
                <li><a id="livechat" href="#" onclick="return SnapEngage.startLink();">Live Chat</a></li>
<!--                <li ><a id="livechat" href="http://chat.servermonkey.com/index.php" target="_blank" onclick="openLiveHelp(); return false">Live Chat</a></li>-->
                 <!-- <li ><a id="livechat" href="#" class="LiveHelpButton default">Live Chat</a></li> -->
                <li ><a id="rss" href="//blog.servermonkey.com/rss.xml">RSS</a></li>
            </ul>
            </div>

        <div class="quick-access">
            <div class="shop-access"><ul class="links">
                        <li class="first" ><a href="http://192.168.33.10/customer/account/" title="My Account" >My Account</a></li>
                                                                <li ><a href="http://192.168.33.10/checkout/cart/" title="My Cart" class="top-link-cart">My Cart</a></li>
                                <li ><a href="http://192.168.33.10/checkout/" title="Checkout" class="top-link-checkout">Checkout</a></li>
                                <li class=" last" ><a href="http://192.168.33.10/customer/account/login/" title="Log In" >Log In</a></li>
            </ul>
</div>
        </div>
                    </div>
    <div class="header-top">
                <div class="logo"><strong>Servermonkey.com</strong><a href="http://192.168.33.10/" title="Servermonkey.com" class="logo"><img src="http://192.168.33.10/skin/frontend/base/default//images/servermonkey_logo2.png" alt="Servermonkey.com" /></a></div>
                <p class="no-display"><a href="#main"><strong>Skip to Main Content &raquo;</strong></a></p>
        <form id="search_mini_form" action="http://192.168.33.10/catalogsearch/result/" method="get">
    <fieldset>
        <label for="search">Search:</label>
        <div class="mini-search">
            <input id="search" type="text" class="input-text" name="q" class="input-text" value="" />
        <input type="image" src="http://192.168.33.10/skin/frontend/base/default/images/search_btn.gif" alt="Search" />
        <div id="search_autocomplete" class="search-autocomplete"></div>
        <script type="text/javascript">
        //<![CDATA[
            var searchForm = new Varien.searchForm('search_mini_form', 'search', 'Search entire store here...');
            searchForm.initAutocomplete('http://192.168.33.10/catalogsearch/ajax/suggest/', 'search_autocomplete');
        //]]>
        </script>
    </div>
    </fieldset>
</form>
        <div class="welcome-msg">
                    Welcome, Jeremy Rimpo! | <a href="http://192.168.33.10/persistent/index/unsetCookie/">(Not Jeremy Rimpo?)</a>
 |           <!-- add saved gear link -->
          <a href="/amlist/list/">Saved Gear</a>&nbsp;&nbsp;|&nbsp;&nbsp;
          <!-- add log out link -->
        <a href="http://192.168.33.10/customer/account/login/">Login</a>
        <!-- end log out link -->
        </div>
        <div class="nav-container">
    <ul id="nav">
        <li><a href="http://192.168.33.10/">Home</a></li>
        <li><a href="http://192.168.33.10/">Products</a>
                    <ul>
                <li  class="level0 nav-1 first level-top parent parent"><a href="http://192.168.33.10/used-dell-servers.html"  class="level-top"  data-toggle="dropdown" ><span>Dell Servers <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/used-dell-servers.html"><span>View All Dell Servers </span></a></li><li class="divider"></li><li  class="level1 nav-1-1 first parent parent"><a href="http://192.168.33.10/used-dell-servers/1u.html"  data-toggle="dropdown" ><span>1U Rackmount <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-1-1-1 first"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r620.html" ><span>Dell PowerEdge R620 10-Port</span></a></li><li  class="level2 nav-1-1-2"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r620-8-port.html" ><span>Dell PowerEdge R620 8-Port</span></a></li><li  class="level2 nav-1-1-3"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r620-4-port.html" ><span>Dell PowerEdge R620 4-Port</span></a></li><li  class="level2 nav-1-1-4"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r610.html" ><span>Dell PowerEdge R610 6-Port</span></a></li><li  class="level2 nav-1-1-5"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r420-8-port.html" ><span>Dell PowerEdge R420 8-Port</span></a></li><li  class="level2 nav-1-1-6"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r420-4-port.html" ><span>Dell PowerEdge R420 4-Port</span></a></li><li  class="level2 nav-1-1-7"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r420-4-port-cabled.html" ><span>Dell PowerEdge R420 4-Port Cabled</span></a></li><li  class="level2 nav-1-1-8"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r410-4-port.html" ><span>Dell PowerEdge R410 4-Port</span></a></li><li  class="level2 nav-1-1-9"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r320.html" ><span>Dell PowerEdge R320 4-Port</span></a></li><li  class="level2 nav-1-1-10"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r310-4-port.html" ><span>Dell PowerEdge R310 4-Port</span></a></li><li  class="level2 nav-1-1-11"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r300-2-port.html" ><span>Dell PowerEdge R300 2-Port</span></a></li><li  class="level2 nav-1-1-12"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-g2-r210.html" ><span>Dell PowerEdge R210 G2 2-Port</span></a></li><li  class="level2 nav-1-1-13"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-g1-r210.html" ><span>Dell PowerEdge R210 G1 2-Port</span></a></li><li  class="level2 nav-1-1-14"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-r200-2-port.html" ><span>Dell PowerEdge R200 2-Port</span></a></li><li  class="level2 nav-1-1-15"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1950.html" ><span>Dell PowerEdge 1950 G3 4-Port</span></a></li><li  class="level2 nav-1-1-16"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1950-g3-2-port.html" ><span>Dell PowerEdge 1950 G3 2-Port</span></a></li><li  class="level2 nav-1-1-17"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1950-g2-4-port.html" ><span>Dell PowerEdge 1950 G2 4-Port</span></a></li><li  class="level2 nav-1-1-18"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1950-g2-2-port.html" ><span>Dell PowerEdge 1950 G2 2-Port</span></a></li><li  class="level2 nav-1-1-19"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1950-g1-4-port.html" ><span>Dell PowerEdge 1950 G1 4-Port</span></a></li><li  class="level2 nav-1-1-20"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1950-g1-2-port.html" ><span>Dell PowerEdge 1950 G1 2-Port</span></a></li><li  class="level2 nav-1-1-21"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1850.html" ><span>Dell PowerEdge 1850 G2 2-Port</span></a></li><li  class="level2 nav-1-1-22"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-1750.html" ><span>Dell PowerEdge 1750</span></a></li><li  class="level2 nav-1-1-23"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-860-g1.html" ><span>Dell PowerEdge 860 G1</span></a></li><li  class="level2 nav-1-1-24"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-860-g2.html" ><span>Dell PowerEdge 860 G2</span></a></li><li  class="level2 nav-1-1-25"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-850.html" ><span>Dell PowerEdge 850</span></a></li><li  class="level2 nav-1-1-26"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-750.html" ><span>Dell PowerEdge 750</span></a></li><li  class="level2 nav-1-1-27 last"><a href="http://192.168.33.10/used-dell-servers/1u/dell-poweredge-650.html" ><span>Dell PowerEdge 650</span></a></li></ul></li><li  class="level1 nav-1-2 parent parent"><a href="http://192.168.33.10/used-dell-servers/2u.html"  data-toggle="dropdown" ><span>2U Rackmount <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-1-2-1 first"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-c6220.html" ><span>Dell PowerEdge C6220 12-Port</span></a></li><li  class="level2 nav-1-2-2"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r820.html" ><span>Dell PowerEdge R820</span></a></li><li  class="level2 nav-1-2-3"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r810.html" ><span>Dell PowerEdge R810</span></a></li><li  class="level2 nav-1-2-4"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r720xd-24-port.html" ><span>Dell PowerEdge R720xd 24-Port</span></a></li><li  class="level2 nav-1-2-5"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r720-16-port.html" ><span>Dell PowerEdge R720 16-Port</span></a></li><li  class="level2 nav-1-2-6"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r720-8-port.html" ><span>Dell PowerEdge R720 8-Port</span></a></li><li  class="level2 nav-1-2-7"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r710.html" ><span>Dell PowerEdge R710 8-Port</span></a></li><li  class="level2 nav-1-2-8"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r710-6-port.html" ><span>Dell PowerEdge R710 6-Port </span></a></li><li  class="level2 nav-1-2-9"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r520-8-port.html" ><span>Dell PowerEdge R520 8-Port</span></a></li><li  class="level2 nav-1-2-10"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r510-12-port.html" ><span>Dell PowerEdge R510 12-Port</span></a></li><li  class="level2 nav-1-2-11"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-r510.html" ><span>Dell PowerEdge R510 8-Port</span></a></li><li  class="level2 nav-1-2-12"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2970-g1-8-port.html" ><span>Dell PowerEdge 2970 G1 8-Port</span></a></li><li  class="level2 nav-1-2-13"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2970-g1-6-port.html" ><span>Dell PowerEdge 2970 G1 6-Port</span></a></li><li  class="level2 nav-1-2-14"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2950.html" ><span>Dell PowerEdge 2950 G3 8-Port</span></a></li><li  class="level2 nav-1-2-15"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2950-g3-6-port.html" ><span>Dell PowerEdge 2950 G3 6-Port</span></a></li><li  class="level2 nav-1-2-16"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2950-g2-8-port.html" ><span>Dell PowerEdge 2950 G2 8-Port</span></a></li><li  class="level2 nav-1-2-17"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2950-g2-6-port.html" ><span>Dell PowerEdge 2950 G2 6-Port</span></a></li><li  class="level2 nav-1-2-18"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2950-g1-6-port.html" ><span>Dell PowerEdge 2950 G1 6-Port</span></a></li><li  class="level2 nav-1-2-19"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2950-g1-4-port.html" ><span>Dell PowerEdge 2950 G1 4-Port</span></a></li><li  class="level2 nav-1-2-20"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2850-g1-6p.html" ><span>Dell PowerEdge 2850 G1 6-Port</span></a></li><li  class="level2 nav-1-2-21 last"><a href="http://192.168.33.10/used-dell-servers/2u/dell-poweredge-2650.html" ><span>Dell PowerEdge 2650</span></a></li></ul></li><li  class="level1 nav-1-3 parent parent"><a href="http://192.168.33.10/used-dell-servers/3u-7u.html"  data-toggle="dropdown" ><span>3U-7U Rackmount <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-1-3-1 first"><a href="http://192.168.33.10/used-dell-servers/3u-7u/dell-poweredge-r910-16-port.html" ><span>Dell PowerEdge R910 16-Port</span></a></li><li  class="level2 nav-1-3-2"><a href="http://192.168.33.10/used-dell-servers/3u-7u/dell-poweredge-r910-4-port.html" ><span>Dell PowerEdge R910 4-Port</span></a></li><li  class="level2 nav-1-3-3"><a href="http://192.168.33.10/used-dell-servers/3u-7u/dell-poweredge-r900-8-port.html" ><span>Dell PowerEdge R900 8-Port</span></a></li><li  class="level2 nav-1-3-4"><a href="http://192.168.33.10/used-dell-servers/3u-7u/dell-poweredge-r900.html" ><span>Dell PowerEdge R900 5-Port</span></a></li><li  class="level2 nav-1-3-5"><a href="http://192.168.33.10/used-dell-servers/3u-7u/dell-poweredge-6850.html" ><span>Dell PowerEdge 6850 G2 5-Port</span></a></li><li  class="level2 nav-1-3-6 last"><a href="http://192.168.33.10/used-dell-servers/3u-7u/dell-poweredge-2900-g1-8-port.html" ><span>Dell PowerEdge 2900 G1 8-Port</span></a></li></ul></li><li  class="level1 nav-1-4 parent parent"><a href="http://192.168.33.10/used-dell-servers/blade-servers.html"  data-toggle="dropdown" ><span>Blade Servers <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-1-4-1 first"><a href="http://192.168.33.10/used-dell-servers/blade-servers/dell-poweredge-m610-2-port.html" ><span>Dell PowerEdge M610 2-Port</span></a></li><li  class="level2 nav-1-4-2"><a href="http://192.168.33.10/used-dell-servers/blade-servers/dell-poweredge-m620.html" ><span>Dell PowerEdge M620 2-Port</span></a></li><li  class="level2 nav-1-4-3 last"><a href="http://192.168.33.10/used-dell-servers/blade-servers/dell-poweredge-m1000e.html" ><span>Dell PowerEdge M1000e Enclosure</span></a></li></ul></li><li  class="level1 nav-1-5 last parent parent"><a href="http://192.168.33.10/used-dell-servers/towers.html"  data-toggle="dropdown" ><span>Towers <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-1-5-1 first"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t710-16-port.html" ><span>Dell PowerEdge T710 16-Port</span></a></li><li  class="level2 nav-1-5-2"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t710-8-port.html" ><span>Dell PowerEdge T710 8-Port</span></a></li><li  class="level2 nav-1-5-3"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t610-3-5.html" ><span>Dell PowerEdge T610 3.5&quot;</span></a></li><li  class="level2 nav-1-5-4"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t610-2-5.html" ><span>Dell PowerEdge T610 2.5&quot;</span></a></li><li  class="level2 nav-1-5-5"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t420.html" ><span>Dell PowerEdge T420</span></a></li><li  class="level2 nav-1-5-6"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t410.html" ><span>Dell PowerEdge T410</span></a></li><li  class="level2 nav-1-5-7"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t410-cabled.html" ><span>Dell PowerEdge T410 Cabled</span></a></li><li  class="level2 nav-1-5-8"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t320-16-port.html" ><span>Dell PowerEdge T320 16-Port</span></a></li><li  class="level2 nav-1-5-9"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t320-8-port.html" ><span>Dell PowerEdge T320 8-Port</span></a></li><li  class="level2 nav-1-5-10"><a href="http://192.168.33.10/used-dell-servers/towers/dell-powredge-t320-4-port.html" ><span>Dell PowerEdge T320 4-Port</span></a></li><li  class="level2 nav-1-5-11"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t310.html" ><span>Dell PowerEdge T310</span></a></li><li  class="level2 nav-1-5-12"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-t110.html" ><span>Dell PowerEdge T110</span></a></li><li  class="level2 nav-1-5-13 last"><a href="http://192.168.33.10/used-dell-servers/towers/dell-poweredge-2900-g1.html" ><span>Dell PowerEdge 2900 G1</span></a></li></ul></li></ul></li><li  class="level0 nav-2 level-top parent parent"><a href="http://192.168.33.10/used-hp-servers.html"  class="level-top"  data-toggle="dropdown" ><span>HP Servers <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/used-hp-servers.html"><span>View All HP Servers </span></a></li><li class="divider"></li><li  class="level1 nav-2-1 first parent parent"><a href="http://192.168.33.10/used-hp-servers/hp-1u.html"  data-toggle="dropdown" ><span>1U Rackmount <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-2-1-1 first"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360e-g8.html" ><span>HP ProLiant DL360e Gen8 8-Port</span></a></li><li  class="level2 nav-2-1-2"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360p-gen8-8-port.html" ><span>HP ProLiant DL360p Gen8 8-Port</span></a></li><li  class="level2 nav-2-1-3"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360e-gen8-4-port.html" ><span>HP ProLiant DL360e Gen8 4-Port</span></a></li><li  class="level2 nav-2-1-4"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360-g7-8-port.html" ><span>HP ProLiant DL360 G7 8-Port</span></a></li><li  class="level2 nav-2-1-5"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360-g7.html" ><span>HP ProLiant DL360 G7 4-Port</span></a></li><li  class="level2 nav-2-1-6"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360-g6-8-port.html" ><span>HP ProLiant DL360 G6 8-Port</span></a></li><li  class="level2 nav-2-1-7"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360-g6.html" ><span>HP ProLiant DL360 G6 4-Port</span></a></li><li  class="level2 nav-2-1-8"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360-g5.html" ><span>HP ProLiant DL360 G5 6-Port</span></a></li><li  class="level2 nav-2-1-9"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl360-g4-p-2-port.html" ><span>HP ProLiant DL360 G4(P) 2-Port</span></a></li><li  class="level2 nav-2-1-10"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl165-g7.html" ><span>HP ProLiant DL165 G7 4-Port</span></a></li><li  class="level2 nav-2-1-11"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl160-g6.html" ><span>HP ProLiant DL160 G6 8-Port</span></a></li><li  class="level2 nav-2-1-12"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl160-g6-4-port.html" ><span>HP ProLiant DL160 G6 4-Port</span></a></li><li  class="level2 nav-2-1-13"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl140-g3.html" ><span>HP ProLiant DL140 G3 2-Port</span></a></li><li  class="level2 nav-2-1-14"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl140-g2.html" ><span>HP ProLiant DL140 G2 2-Port</span></a></li><li  class="level2 nav-2-1-15"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl120-g7.html" ><span>HP ProLiant DL120 G7 4-Port</span></a></li><li  class="level2 nav-2-1-16 last"><a href="http://192.168.33.10/used-hp-servers/hp-1u/hp-proliant-dl120-g6.html" ><span>HP ProLiant DL120 G6 4-Port</span></a></li></ul></li><li  class="level1 nav-2-2 parent parent"><a href="http://192.168.33.10/used-hp-servers/hp-2u.html"  data-toggle="dropdown" ><span>2U Rackmount <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-2-2-1 first"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl385-g7.html" ><span>HP ProLiant DL385 G7 8-Port</span></a></li><li  class="level2 nav-2-2-2"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl385-g6.html" ><span>HP ProLiant DL385 G6 8-Port</span></a></li><li  class="level2 nav-2-2-3"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380p-gen8-8-port.html" ><span>HP ProLiant DL380p Gen8 8-Port</span></a></li><li  class="level2 nav-2-2-4"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380e-gen8-8-port.html" ><span>HP ProLiant DL380e Gen8 8-Port</span></a></li><li  class="level2 nav-2-2-5"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380-g7-16-port.html" ><span>HP ProLiant DL380 G7 16-Port</span></a></li><li  class="level2 nav-2-2-6"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380-g7-8-port.html" ><span>HP ProLiant DL380 G7 8-Port</span></a></li><li  class="level2 nav-2-2-7"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380-g7-6-port.html" ><span>HP ProLiant DL380 G7 6-Port</span></a></li><li  class="level2 nav-2-2-8"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380-g6-16-port.html" ><span>HP ProLiant DL380 G6 16-Port</span></a></li><li  class="level2 nav-2-2-9"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380-g6.html" ><span>HP ProLiant DL380 G6 8-Port</span></a></li><li  class="level2 nav-2-2-10"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380-g6-6-port.html" ><span>HP ProLiant DL380 G6 6-Port</span></a></li><li  class="level2 nav-2-2-11"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl380-g5.html" ><span>HP ProLiant DL380 G5 8-Port</span></a></li><li  class="level2 nav-2-2-12"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl180se-g6.html" ><span>HP ProLiant DL180se G6 12-Port</span></a></li><li  class="level2 nav-2-2-13"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl180-g6-14-port.html" ><span>HP ProLiant DL180 G6 14-Port</span></a></li><li  class="level2 nav-2-2-14"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl180-g5.html" ><span>HP ProLiant DL180 G5 8-Port</span></a></li><li  class="level2 nav-2-2-15 last"><a href="http://192.168.33.10/used-hp-servers/hp-2u/hp-proliant-dl180-g6-4-port.html" ><span>HP ProLiant DL180 G6 4-Port</span></a></li></ul></li><li  class="level1 nav-2-3 parent parent"><a href="http://192.168.33.10/used-hp-servers/3u-7u.html"  data-toggle="dropdown" ><span>3U-7U Rackmount <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-2-3-1 first"><a href="http://192.168.33.10/used-hp-servers/3u-7u/hp-proliant-dl580-g5.html" ><span>HP ProLiant DL580 G5</span></a></li><li  class="level2 nav-2-3-2"><a href="http://192.168.33.10/used-hp-servers/3u-7u/hp-proliant-dl370-g6.html" ><span>HP ProLiant DL370 G6 24-Port</span></a></li><li  class="level2 nav-2-3-3"><a href="http://192.168.33.10/used-hp-servers/3u-7u/hp-proliant-dl370-g6-8-port.html" ><span>HP ProLiant DL370 G6 8-Port</span></a></li><li  class="level2 nav-2-3-4 last"><a href="http://192.168.33.10/used-hp-servers/3u-7u/hp-proliant-dl370-g6-6port.html" ><span>HP ProLiant DL370 G6 6-Port</span></a></li></ul></li><li  class="level1 nav-2-4 parent parent"><a href="http://192.168.33.10/used-hp-servers/blades.html"  data-toggle="dropdown" ><span>Blade Servers <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-2-4-1 first"><a href="http://192.168.33.10/used-hp-servers/blades/hp-proliant-bl490c-g6.html" ><span>HP ProLiant BL490c G6</span></a></li><li  class="level2 nav-2-4-2"><a href="http://192.168.33.10/used-hp-servers/blades/hp-proliant-bl480c-g1.html" ><span>HP ProLiant BL480c G1</span></a></li><li  class="level2 nav-2-4-3"><a href="http://192.168.33.10/used-hp-servers/blades/hp-proliant-bl460c-g7.html" ><span>HP ProLiant BL460c G7</span></a></li><li  class="level2 nav-2-4-4"><a href="http://192.168.33.10/used-hp-servers/blades/hp-proliant-bl460c-g6.html" ><span>HP ProLiant BL460c G6</span></a></li><li  class="level2 nav-2-4-5"><a href="http://192.168.33.10/used-hp-servers/blades/hp-proliant-bl460c-g1.html" ><span>HP ProLiant BL460c G1</span></a></li><li  class="level2 nav-2-4-6 last"><a href="http://192.168.33.10/used-hp-servers/blades/hp-blc7000-enclosure.html" ><span>HP BLc7000 Enclosure</span></a></li></ul></li><li  class="level1 nav-2-5 last"><a href="http://192.168.33.10/used-hp-servers/towers.html" ><span>Towers</span></a></li></ul></li><li  class="level0 nav-3 level-top parent parent"><a href="http://192.168.33.10/supermicro-servers.html"  class="level-top"  data-toggle="dropdown" ><span>SuperMicro Servers <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/supermicro-servers.html"><span>View All SuperMicro Servers </span></a></li><li class="divider"></li><li  class="level1 nav-3-1 first"><a href="http://192.168.33.10/supermicro-servers/superservers.html" ><span>SuperServers</span></a></li><li  class="level1 nav-3-2 last"><a href="http://192.168.33.10/supermicro-servers/other.html" ><span>Other</span></a></li></ul></li><li  class="level0 nav-4 level-top parent parent"><a href="http://192.168.33.10/used-refurbished-servers.html"  class="level-top"  data-toggle="dropdown" ><span>Other Servers <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/used-refurbished-servers.html"><span>View All Other Servers </span></a></li><li class="divider"></li><li  class="level1 nav-4-1 first"><a href="http://192.168.33.10/used-refurbished-servers/apple.html" ><span>Apple Servers</span></a></li><li  class="level1 nav-4-2 parent parent"><a href="http://192.168.33.10/used-refurbished-servers/ibm-lenovo.html"  data-toggle="dropdown" ><span>IBM Servers <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-4-2-1 first last"><a href="http://192.168.33.10/used-refurbished-servers/ibm-lenovo/ibm-x3550.html" ><span>IBM X3550 2-Port</span></a></li></ul></li><li  class="level1 nav-4-3 parent parent"><a href="http://192.168.33.10/used-refurbished-servers/intel-servers.html"  data-toggle="dropdown" ><span>Intel Servers <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-4-3-1 first last"><a href="http://192.168.33.10/used-refurbished-servers/intel-servers/2u.html" ><span>2U Rackmount</span></a></li></ul></li><li  class="level1 nav-4-4 last"><a href="http://192.168.33.10/used-refurbished-servers/sun.html" ><span>Sun Servers</span></a></li></ul></li><li  class="level0 nav-5 level-top parent parent"><a href="http://192.168.33.10/workstations.html"  class="level-top"  data-toggle="dropdown" ><span>Workstations <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/workstations.html"><span>View All Workstations </span></a></li><li class="divider"></li><li  class="level1 nav-5-1 first parent parent"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations.html"  data-toggle="dropdown" ><span>Dell Workstations <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-5-1-1 first"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-t7500.html" ><span>Dell Precision T7500 </span></a></li><li  class="level2 nav-5-1-2"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-t7400.html" ><span>Dell Precision T7400</span></a></li><li  class="level2 nav-5-1-3"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-t5500.html" ><span>Dell Precision T5500</span></a></li><li  class="level2 nav-5-1-4"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-t5400.html" ><span>Dell Precision T5400</span></a></li><li  class="level2 nav-5-1-5"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-t3600-4-port.html" ><span>Dell Precision T3600 4-Port</span></a></li><li  class="level2 nav-5-1-6"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-presicion-t3600-2-port.html" ><span>Dell Precision T3600 2-Port</span></a></li><li  class="level2 nav-5-1-7"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-t3500.html" ><span>Dell Precision T3500</span></a></li><li  class="level2 nav-5-1-8"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-t3400.html" ><span>Dell Precision T3400</span></a></li><li  class="level2 nav-5-1-9"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-r5400.html" ><span>Dell Precision R5400</span></a></li><li  class="level2 nav-5-1-10 last"><a href="http://192.168.33.10/workstations/refurbished-dell-workstations/dell-precision-690.html" ><span>Dell Precision 690</span></a></li></ul></li><li  class="level1 nav-5-2 last parent parent"><a href="http://192.168.33.10/workstations/refurbished-hp-workstations.html"  data-toggle="dropdown" ><span>HP Workstations <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-5-2-1 first"><a href="http://192.168.33.10/workstations/refurbished-hp-workstations/hp-z820-1-02.html" ><span>HP Z820 (Version 1.02)</span></a></li><li  class="level2 nav-5-2-2"><a href="http://192.168.33.10/workstations/refurbished-hp-workstations/hp-z820.html" ><span>HP Z820</span></a></li><li  class="level2 nav-5-2-3"><a href="http://192.168.33.10/workstations/refurbished-hp-workstations/hp-z800.html" ><span>HP Z800</span></a></li><li  class="level2 nav-5-2-4"><a href="http://192.168.33.10/workstations/refurbished-hp-workstations/hp-z600.html" ><span>HP Z600</span></a></li><li  class="level2 nav-5-2-5"><a href="http://192.168.33.10/workstations/refurbished-hp-workstations/hp-z400.html" ><span>HP Z400</span></a></li><li  class="level2 nav-5-2-6 last"><a href="http://192.168.33.10/workstations/refurbished-hp-workstations/hp-xw8600.html" ><span>HP xw8600 </span></a></li></ul></li></ul></li><li  class="level0 nav-6 level-top parent parent"><a href="http://192.168.33.10/networking.html"  class="level-top"  data-toggle="dropdown" ><span>Networking <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/networking.html"><span>View All Networking </span></a></li><li class="divider"></li><li  class="level1 nav-6-1 first parent parent"><a href="http://192.168.33.10/networking/cisco.html"  data-toggle="dropdown" ><span>Cisco Systems (New) <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-6-1-1 first"><a href="http://192.168.33.10/networking/cisco/adapters.html" ><span>Adapters (New)</span></a></li><li  class="level2 nav-6-1-2"><a href="http://192.168.33.10/networking/cisco/cables.html" ><span>Cables (New)</span></a></li><li  class="level2 nav-6-1-3"><a href="http://192.168.33.10/networking/cisco/e-licenses.html" ><span>E-Licenses (New)</span></a></li><li  class="level2 nav-6-1-4"><a href="http://192.168.33.10/networking/cisco/firewalls.html" ><span>Firewalls (New)</span></a></li><li  class="level2 nav-6-1-5"><a href="http://192.168.33.10/networking/cisco/internal-cards.html" ><span>Internal Cards (New)</span></a></li><li  class="level2 nav-6-1-6"><a href="http://192.168.33.10/networking/cisco/modules.html" ><span>Modules (New)</span></a></li><li  class="level2 nav-6-1-7"><a href="http://192.168.33.10/networking/cisco/phones.html" ><span>Phones (New)</span></a></li><li  class="level2 nav-6-1-8"><a href="http://192.168.33.10/networking/cisco/power-supply.html" ><span>Power Supply (New)</span></a></li><li  class="level2 nav-6-1-9"><a href="http://192.168.33.10/networking/cisco/services-processors.html" ><span>Processors (New)</span></a></li><li  class="level2 nav-6-1-10"><a href="http://192.168.33.10/networking/cisco/routers.html" ><span>Routers (New)</span></a></li><li  class="level2 nav-6-1-11"><a href="http://192.168.33.10/networking/cisco/security.html" ><span>Security (New)</span></a></li><li  class="level2 nav-6-1-12"><a href="http://192.168.33.10/networking/cisco/switches.html" ><span>Switches (New)</span></a></li><li  class="level2 nav-6-1-13 last"><a href="http://192.168.33.10/networking/cisco/wireless-controller.html" ><span>Wireless Controller (New)</span></a></li></ul></li><li  class="level1 nav-6-2"><a href="http://192.168.33.10/networking/juniper.html" ><span>Juniper</span></a></li><li  class="level1 nav-6-3 last"><a href="http://192.168.33.10/networking/hp.html" ><span>HP</span></a></li></ul></li><li  class="level0 nav-7 level-top parent parent"><a href="http://192.168.33.10/desktop-computers.html"  class="level-top"  data-toggle="dropdown" ><span>Desktops <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/desktop-computers.html"><span>View All Desktops </span></a></li><li class="divider"></li><li  class="level1 nav-7-1 first last"><a href="http://192.168.33.10/desktop-computers/accessories.html" ><span>Desktop Accessories</span></a></li></ul></li><li  class="level0 nav-8 level-top parent parent"><a href="http://192.168.33.10/laptops.html"  class="level-top"  data-toggle="dropdown" ><span>Laptops <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/laptops.html"><span>View All Laptops </span></a></li><li class="divider"></li><li  class="level1 nav-8-1 first"><a href="http://192.168.33.10/laptops/apple-laptops.html" ><span>Apple Laptops</span></a></li><li  class="level1 nav-8-2"><a href="http://192.168.33.10/laptops/dell-laptops.html" ><span>Dell Laptops</span></a></li><li  class="level1 nav-8-3"><a href="http://192.168.33.10/laptops/hp-laptops.html" ><span>HP Laptops</span></a></li><li  class="level1 nav-8-4 last"><a href="http://192.168.33.10/laptops/laptop-accessories.html" ><span>Laptop Accessories</span></a></li></ul></li><li  class="level0 nav-9 level-top parent parent"><a href="http://192.168.33.10/tablets.html"  class="level-top"  data-toggle="dropdown" ><span>Tablets <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/tablets.html"><span>View All Tablets </span></a></li><li class="divider"></li><li  class="level1 nav-9-1 first last"><a href="http://192.168.33.10/tablets/ipad.html" ><span>iPad</span></a></li></ul></li><li  class="level0 nav-10 level-top parent parent"><a href="http://192.168.33.10/storage.html"  class="level-top"  data-toggle="dropdown" ><span>Storage Expansion <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/storage.html"><span>View All Storage Expansion </span></a></li><li class="divider"></li><li  class="level1 nav-10-1 first"><a href="http://192.168.33.10/storage/dell-powervault-md3220-24-port.html" ><span>Dell PowerVault MD3220 24-Port</span></a></li><li  class="level1 nav-10-2"><a href="http://192.168.33.10/storage/dell-powervault-md3200-12-port.html" ><span>Dell PowerVault MD3200 12-Port</span></a></li><li  class="level1 nav-10-3"><a href="http://192.168.33.10/storage/dell-powervault-md3000-15-port.html" ><span>Dell PowerVault MD3000 15-Port</span></a></li><li  class="level1 nav-10-4"><a href="http://192.168.33.10/storage/dell-powervault-md3000i-15-port.html" ><span>Dell PowerVault MD3000i 15-Port</span></a></li><li  class="level1 nav-10-5"><a href="http://192.168.33.10/storage/dell-powervault-md1200-12-port.html" ><span>Dell PowerVault MD1200 12-Port</span></a></li><li  class="level1 nav-10-6"><a href="http://192.168.33.10/storage/dell-powervault-md1000-15-port.html" ><span>Dell PowerVault MD1000 15-Port</span></a></li><li  class="level1 nav-10-7 last"><a href="http://192.168.33.10/storage/hp-p2000-g3-12-port.html" ><span>HP P2000 G3 12-Port</span></a></li></ul></li><li  class="level0 nav-11 level-top parent parent"><a href="http://192.168.33.10/parts-and-upgrades.html"  class="level-top"  data-toggle="dropdown" ><span>Parts and Upgrades <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/parts-and-upgrades.html"><span>View All Parts and Upgrades </span></a></li><li class="divider"></li><li  class="level1 nav-11-1 first"><a href="http://192.168.33.10/parts-and-upgrades/graphic-cards.html" ><span>Graphic Cards</span></a></li><li  class="level1 nav-11-2 parent parent"><a href="http://192.168.33.10/parts-and-upgrades/hard-drives.html"  data-toggle="dropdown" ><span>Hard Drives <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-11-2-1 first"><a href="http://192.168.33.10/parts-and-upgrades/hard-drives/sata.html" ><span>SATA</span></a></li><li  class="level2 nav-11-2-2"><a href="http://192.168.33.10/parts-and-upgrades/hard-drives/scsi.html" ><span>SCSI</span></a></li><li  class="level2 nav-11-2-3"><a href="http://192.168.33.10/parts-and-upgrades/hard-drives/sas.html" ><span>SAS</span></a></li><li  class="level2 nav-11-2-4 last"><a href="http://192.168.33.10/parts-and-upgrades/hard-drives/blank-trays.html" ><span>Blank Trays</span></a></li></ul></li><li  class="level1 nav-11-3 parent parent"><a href="http://192.168.33.10/parts-and-upgrades/memory.html"  data-toggle="dropdown" ><span>Memory <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-11-3-1 first"><a href="http://192.168.33.10/parts-and-upgrades/memory/dell.html" ><span>Dell Memory</span></a></li><li  class="level2 nav-11-3-2"><a href="http://192.168.33.10/parts-and-upgrades/memory/hp.html" ><span>HP Memory</span></a></li><li  class="level2 nav-11-3-3"><a href="http://192.168.33.10/parts-and-upgrades/memory/hynix.html" ><span>Hynix Memory</span></a></li><li  class="level2 nav-11-3-4"><a href="http://192.168.33.10/parts-and-upgrades/memory/micron.html" ><span>Micron Memory</span></a></li><li  class="level2 nav-11-3-5"><a href="http://192.168.33.10/parts-and-upgrades/memory/samsung.html" ><span>Samsung Memory</span></a></li><li  class="level2 nav-11-3-6"><a href="http://192.168.33.10/parts-and-upgrades/memory/kingston.html" ><span>Kingston Memory</span></a></li><li  class="level2 nav-11-3-7 last"><a href="http://192.168.33.10/parts-and-upgrades/memory/other-memory.html" ><span>Other Memory</span></a></li></ul></li><li  class="level1 nav-11-4"><a href="http://192.168.33.10/parts-and-upgrades/optical-drives.html" ><span>Optical Drives</span></a></li><li  class="level1 nav-11-5"><a href="http://192.168.33.10/parts-and-upgrades/other.html" ><span>Other</span></a></li><li  class="level1 nav-11-6 parent parent"><a href="http://192.168.33.10/parts-and-upgrades/processors.html"  data-toggle="dropdown" ><span>Processors <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-11-6-1 first"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-e5-2600-series.html" ><span>Intel E5-2600 Series</span></a></li><li  class="level2 nav-11-6-2"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-e5-2400-series.html" ><span>Intel E5-2400 Series</span></a></li><li  class="level2 nav-11-6-3"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-5600-series.html" ><span>Intel 5600 Series</span></a></li><li  class="level2 nav-11-6-4"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-5500-series.html" ><span>Intel 5500 Series</span></a></li><li  class="level2 nav-11-6-5"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-5400-series.html" ><span>Intel 5400 Series</span></a></li><li  class="level2 nav-11-6-6"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-5300-series.html" ><span>Intel 5300 Series</span></a></li><li  class="level2 nav-11-6-7"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-5200-series.html" ><span>Intel 5200 Series</span></a></li><li  class="level2 nav-11-6-8"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-5100-series.html" ><span>Intel 5100 Series</span></a></li><li  class="level2 nav-11-6-9"><a href="http://192.168.33.10/parts-and-upgrades/processors/intel-5000-series.html" ><span>Intel 5000 Series</span></a></li><li  class="level2 nav-11-6-10 last"><a href="http://192.168.33.10/parts-and-upgrades/processors/other.html" ><span>Other</span></a></li></ul></li><li  class="level1 nav-11-7 parent parent"><a href="http://192.168.33.10/parts-and-upgrades/rack.html"  data-toggle="dropdown" ><span>Rack Accessories <b class="caret"></b></span></a><ul class="level1 dropdown-menu"><li  class="level2 nav-11-7-1 first last"><a href="http://192.168.33.10/parts-and-upgrades/rack/power-supplies.html" ><span>Power Supplies, Cords &amp; Strips</span></a></li></ul></li><li  class="level1 nav-11-8"><a href="http://192.168.33.10/parts-and-upgrades/raid.html" ><span>RAID</span></a></li><li  class="level1 nav-11-9"><a href="http://192.168.33.10/parts-and-upgrades/rails.html" ><span>Rails</span></a></li><li  class="level1 nav-11-10 last"><a href="http://192.168.33.10/parts-and-upgrades/remote-access-card.html" ><span>Remote Access Card</span></a></li></ul></li><li  class="level0 nav-12 level-top parent parent"><a href="http://192.168.33.10/software.html"  class="level-top"  data-toggle="dropdown" ><span>Software <b class="caret"></b></span></a><ul class="level0 dropdown-menu"><li class="level1 level-top-in-dropdown"><a href="http://192.168.33.10/software.html"><span>View All Software </span></a></li><li class="divider"></li><li  class="level1 nav-12-1 first last"><a href="http://192.168.33.10/software/vmware.html" ><span>VMware</span></a></li></ul></li><li  class="level0 nav-13 level-top"><a href="http://192.168.33.10/specials.html"  class="level-top" ><span>Specials</span></a></li><li  class="level0 nav-14 level-top"><a href="http://192.168.33.10/boneyard.html"  class="level-top" ><span>Boneyard</span></a></li><li  class="level0 nav-15 last level-top"><a href="http://192.168.33.10/swag.html"  class="level-top" ><span>Swag</span></a></li>            </ul>
                </li>
        <ul>
<li><a href="http://templates-master.com/about/"><span>About Us</span></a></li>
<li><a href="http://templates-master.com/testimonials/"><span>Testimonials</span></a></li>
<li><a href="http://templates-master.com/contacts/"><span>Contact Us</span></a></li>
</ul>    </ul>
</div>

    </div>
     </div>
</div>
</div>

<!-- ESI END [header] -->

The prime example from this snippet is http://192.168.33.10/skin/frontend/base/default/images/search_btn.gif -- this link works with the correct theme path in the URL. But it's using base instead. (The logo image is currently broken one way or another on my vagrant box, but this search button is definitely working with the ESI cache off.)

aricwatson commented 9 years ago

Is there any kind of conditional logic involved in the template/block that determines when to use the skin/frontend/default/f002_servermonkey/images path? You may need to pass some registry keys or something in your ESI configuration.

Silarn commented 9 years ago

It should be a standard skin image link, using the core Magento functions. This should, by default, check the defined skin path for the image file, falling back to the package default, and finally to core. When being loaded by turpentine, it's obviously failing to properly locate the skin image and dropping to the default core skin path.

<input type="image" src="<?php echo $this->getSkinUrl('images/search_btn.gif') ?>" alt="<?php echo $this->__('Search') ?>" />

Which derives from Mage_Core_Block_Abstract through Mage_Core_Block_Template:


    /**
     * Retrieve url of skins file
     *
     * @param   string $file path to file in skin
     * @param   array $params
     * @return  string
     */
    public function getSkinUrl($file = null, array $params = array())
    {
        return Mage::getDesign()->getSkinUrl($file, $params);
    }
ceckoslab commented 8 years ago

@Silarn I think that this problem was resolved in this PR https://github.com/nexcess/magento-turpentine/pull/972 which was recently merged in to devel branch.

aricwatson commented 8 years ago

@Silarn can you verify if https://github.com/nexcess/magento-turpentine/pull/972 has resolved your problem?

Silarn commented 8 years ago

Sorry, behind on the updates.Unfortunately our environment is in flux right now, I'll see if I can test in staging.

srvrmnky commented 8 years ago

This does appear to be fixed, thanks. Unfortunately I have a couple new issues which I'm having trouble tracking down.