Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

turpentine not caching? #109

Closed
nomadph opened this issue Mar 21, 2013 · 34 comments
Closed

turpentine not caching? #109

nomadph opened this issue Mar 21, 2013 · 34 comments
Labels

Comments

@nomadph
Copy link

nomadph commented Mar 21, 2013

Is varnish-turpentine not caching product pages in Magento?

We tested a product page for varnish-turpentine in gtmetrix and this is the result:
http://gtmetrix.com/reports/www.trendsndeals.com/70jkcCPY

Please see under Timeline, the time to first byte is 5.37s (long time).

We checked by running varnishlog that it is configured correctly and that website is going through varnish.

comparatively, and curiously, all other pages in magento website loads fast (low time to first byte), such as the main page:
http://gtmetrix.com/reports/www.trendsndeals.com/HvyBs0pq

it seems the issue is only in the product pages. is varnish-turpentine not caching product pages?

please advice. thanks!

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

i'm also getting a low hitrate according to varnishstat:
http://i.imgur.com/TyuguYv.png

i'm using the turpentine from magento connect, varnish 3.0, nginx in front of varnish. so basically:
nginx (for SSL in some pages) -> varnish -> apache

am I missing something here? it seems i missed something that's why varnish is not caching? note that the varnishstat image above is on a page that is not SSL.

thanks.

@aheadley
Copy link
Contributor

Is varnish-turpentine not caching product pages in Magento?

Product pages should be cached by default.

Please see under Timeline, the time to first byte is 5.37s (long time).

It looks like Turpentine's Varnish config hasn't been applied, the response headers don't look like what would come from Varnish with Turpentine's VCL. Specifically, if debugging is off the X-Varnish header shouldn't be there, and if it's on then there are other headers that should be there that aren't. Looking at the response headers in the second link, there is an X-Cache header which isn't set by Turpentine so is that part of your Nginx config? Maybe you have another caching extension enabled that adds that or something?

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

Hi, that's odd, we don't have another caching. we do have mod_pagespeed, could that be having conflict with varnish? but mod_pagespeed is an Apache module and all traffic goes to Varnish first before Apache.

how can we verify if magento is using turpentine's VCL? is there somewhere we can look?

varnishlog shows that traffic does indeed go through Varnish, but it seems it is not seeing Turpentine for some reason (which could be the reason why varnistat shows almost no hit rate?).

@aheadley
Copy link
Contributor

how can we verify if magento is using turpentine's VCL?

You can check the active Varnish VCL by running this command: varnishadm vcl.show "$(varnishadm vcl.list | grep '^active' | awk '{print $3}')" If you can paste the output here that would be helpful.

we do have mod_pagespeed, could that be having conflict with varnish?

mod_pagespeed should be fine, as long as you take note of the compatibility issues on the Compatiblity wiki page, and even then it shouldn't cause this kind of problem.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

Hi, this is the result after entering the command to check active varnish (i'm not sure how to enter code format in the textbox, but it should give enough information to verify if it is turpentine's vcl), is this correct?:

C{
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <pthread.h>
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 = "108.160.159.58";
.port = "8081";
.first_byte_timeout = 300s;
.between_bytes_timeout = 300s;
}
backend admin {
.host = "108.160.159.58";
.port = "8081";
.first_byte_timeout = 21600s;
.between_bytes_timeout = 21600s;
}
acl crawler_acl {
"127.0.0.1";
}
acl debug_acl {
"112.209.165.29";
}
sub remove_cache_headers {
unset beresp.http.Cache-Control;
unset beresp.http.Expires;
unset beresp.http.Pragma;
unset beresp.http.Cache;
unset beresp.http.Age;
}
sub remove_double_slashes {
set req.url = regsub(req.url, "(.*)//+(.*)", "\1/\2");
}
sub generate_session {
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.request !~ "^(GET|HEAD)$") {
return (pipe);
}
call remove_double_slashes;
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) {
return (pipe);
}
if (req.url ~ "^(/)(?:(?:index|litespeed)\.php/)?") {
set req.http.X-Turpentine-Secret-Handshake = "1";
if (req.url ~ "^(/)(?:(?:index|litespeed)\.php/)?backpath") {
set req.backend = admin;
return (pipe);
}
if (req.url ~ "/turpentine/esi/getBlock/") {
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 &&
!(false || client.ip ~ debug_acl)) {
error 403 "External ESI requests are not allowed";
}
}
if (req.http.Cookie !~ "frontend=") {
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 {
call generate_session;
}
}
if (true &&
req.url ~ ".*\.(?:css|js|jpe?g|png|gif|ico|swf)(?=\?|&|$)") {
unset req.http.Cookie;
return (lookup);
}
if (req.url ~ "^(/)(?:(?:index|litespeed)\.php/)?(?:backpath|api|cron\.php)") {
return (pipe);
}
if (true &&
req.url ~ "(?:[?&](?:__SID|XDEBUG_PROFILE)(?=[&=]|$))") {
return (pass);
}
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-Esi-Access == "private" &&
req.http.Cookie ~ "frontend=") {
hash_data(regsub(req.http.Cookie, "^.*?frontend=([^;]*);*.*$", "\1"));
}
return (hash);
}
sub vcl_hit {
}
sub vcl_fetch {
set req.grace = 15s;
if (req.url ~ "^(/)(?:(?: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;
}
call remove_cache_headers;
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) {
call generate_session_expires;
set resp.http.Set-Cookie = req.http.X-Varnish-Faked-Session +
"; expires=" + resp.http.X-Varnish-Cookie-Expires + "; path=" +
regsub(regsub(req.url, "^(/)(?:(?:index|litespeed)\.php/)?.*", "\1"), "/$", "");
if (req.http.Host) {
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 (false || 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;
} 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-Varnish-Session;
unset resp.http.X-Varnish-Set-Cookie;
}
}

Thanks!

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

I removed the remove_comment in mod_pagespeed, and then restarted nginx, apache, and varnish, then I click the "Apply Varnish Config" in the cache management page in magento.

now I get a "ESI data is not valid" at the top of the page (like my header is gone). can know what this means?

thanks.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

this is the latest gtmetrix result, page load time is now down to 2.50s (compared to 8-9s before) but at the top of every page is an "ESI data is not valid", and our top part of our website is gone:

http://gtmetrix.com/reports/www.trendsndeals.com/oO3yWOaw

please advice, is there something we should update in .vcl? thanks.

@aheadley
Copy link
Contributor

now I get a "ESI data is not valid" at the top of the page (like my header is gone). can know what this means?

That error means one of two things:

  • The /hmac/ param in the ESI URL doesn't match the HMAC of the encrypted data in the /data/ param
  • There was an issue decrypting, decoding, or unserializing the data in the /data/ param of the ESI URL

Can you check the Magento system log? There should be a warning message that will tell which condition caused the error.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

Hi, can know what I should be looking at in the /var/log/system.log of Magento? the last line is not from today (it's from yesterday):

2013-03-21T16:37:39+00:00 ERR (3): Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/trends/public_html/lib/Varien/Simplexml/Config.php on line 510

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

i'm also getting this on my page:

Fatal error: Call to a member function addLink() on a non-object in /home/trends/public_html/app/code/community/AW/Blog/Block/Abstract.php on line 155

@aheadley
Copy link
Contributor

The lines would either be like ESI data HMAC mismatch, expected (xxx) but recieved (xxx) or Invalid ESI data in URL: xxx. That warning message means there's a syntax error in one of your XML config files, you can use find /path/to/magento/app -type f -name '*.xml' | xargs -t -r -n 1 xmllint --format > /dev/null to find which file is causing it, although if it only showed yesterday then it may already have been fixed.

You may also need to enabled logging in System > Configuration > Developer > Log Settings > Enabled.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

oops it turns out logging was disabled (thanks for that). I got the error:

2013-03-21T17:15:44+00:00 WARN (4): TURPENTINE: ESI data HMAC mismatch, expected (7c33d6d0f996c310e117fc63e30ee07c55132a0c029d1f71d4c09dfa6d570f0b) but recieved ()

2013-03-21T17:15:44+00:00 ERR (3): Notice: Use of undefined constant ’domain’ - assumed '’domain’' in /home/trends/public_html/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 105

2013-03-21T17:15:45+00:00 ERR (3): Notice: Use of undefined constant ’domain’ - assumed '’domain’' in /home/trends/public_html/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 105

2013-03-21T17:15:45+00:00 ERR (3): Notice: Use of undefined constant ’domain’ - assumed '’domain’' in /home/trends/public_html/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 105
2013-03-21T17:15:45+00:00 WARN (4): TURPENTINE: ESI data HMAC mismatch, expected (7c33d6d0f996c310e117fc63e30ee07c55132a0c029d1f71d4c09dfa6d570f0b) but recieved ()

it seems it is not receiving anything?

@aheadley
Copy link
Contributor

Very strange, it seems the /hmac/ param is missing from the ESI URL. That would usually caused by a page cached from an older version of Turpentine but if you restarded Varnish that would flush the cache (unless you were using persistent storage). Can you try going to System > Cache Management and hitting the Flush Cache Storage button?

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

I hit flush cache storage button, and still the same error "ESI data is not valid".

i also flush_all memcached on the server (which i think is the same as flush cache storage button). still same problem :(

is there a setting where I missed, causing the /hmac/ param missing error? can I enter this value somehow somewhere?

@aheadley
Copy link
Contributor

is there a setting where I missed, causing the /hmac/ param missing error? can I enter this value somehow somewhere?

No, it's not a setting. It's a parameter that is generated by Turpentine and included in the ESI URLs as an additional safeguard against a third party decrypting the data in the /data/ param. What versions of PHP and Magento are you using?

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

Hi. It is PHP 5.3.21, and i'm running on Magento 1.7, it is setup as:

traffic -> nginx (some pages have SSL) -> varnish -> apache

I see. would adding a code somewhere to call the part where the parameter is generated help? like force it to generate the missing /hmac/ param?

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

or could i be missing a header that i should pass to *varnish from nginx?

@aheadley
Copy link
Contributor

Can you try making this change to app/code/community/Nexcessnet/Turpentine/Model/Observer/Esi.php:

diff --git a/app/code/community/Nexcessnet/Turpentine/Model/Observer/Esi.php b/app/code/community/Nexcessnet/Turpentine/Model/Observer/Esi.php
index eee8c6a..779ad85 100644
--- a/app/code/community/Nexcessnet/Turpentine/Model/Observer/Esi.php
+++ b/app/code/community/Nexcessnet/Turpentine/Model/Observer/Esi.php
@@ -222,6 +222,9 @@ class Nexcessnet_Turpentine_Model_Observer_Esi extends Varien_Event_Observer {
                     'ESI url is probably too long (%d > 2047 characters): %s',
                     strlen( $esiUrl ), $esiUrl );
             }
+            Mage::helper( 'turpentine/debug' )->logNotice(
+                'Generated HMAC (%s) and ESI URL: %s',
+                $dataHelper->getHmac( $frozenData ), $esiUrl );
             Varien_Profiler::stop( 'turpentine::observer::esi::injectEsi' );
         } // else handle the block like normal and cache it inline with the page
     }

Then hit the Flush Cache Storage button again and load a page giving you that error, then find the new messages (Generated HMAC (xxx) ...) in Magento's log and paste them here? There should be several lines like that after one page load.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

Hi, here's what I got:

2013-03-21T18:39:55+00:00 NOTICE (5): TURPENTINE: Generated HMAC (a5009d72e13dcb0f8c6d1519809154f41f180d8ab779091620b0ecd49367809e) and ESI URL: http://www.trendsndeals.com/turpentine/esi/getBlock/method/esi/access/private/ttl/86400 /hmac/a5009d72e13dcb0f8c6d1519809154f41f180d8ab779091620b0ecd49367809e/data/fliH39JLlhD.I6zNXKgZJeTJVU34FAaVOz38WowSTyEGcCJ.cENnuP9Uo7dt6bF9dv9joybd0qVdcypiUPavsvpZDJAFYxlGLKC4U665dQ-pgwrFtPC3TrqfOXX.gt4j27-xQqDTkVhL-Y84WwZPjCgf.qPqv42HXFsEjI37UGqYTeL8Cx2iD6v15nrmn9iLZxVBkvdOyXTwge56scZ5tCDkjm6q6tbkI6xOLpUSjTO3rz-aoSzuH3X.Rtmb-xuVw1C7VZh9-G-Y-iEP9f1cWnAMjw2oDil7KxGQMAHVgZy72LBdFQHEr4EcLotr3gUfkjbPczpoMm7gD4pblHJfEpgr4XnfOg2pZVA-s5nH4zlHrnFrVu-1R6fHZcEWzvtiHDV4QkCrtd2b.W9LI2dLCQ==/
2013-03-21T18:39:55+00:00 NOTICE (5): TURPENTINE: Generated HMAC (6a07e7b738469d82994a42edf86d8d51fea481ee15d6993b871de02cb7c89b3c) and ESI URL: http://www.trendsndeals.com/turpentine/esi/getBlock/method/ajax/access/private/ttl/0/hmac/6a07e7b738469d82994a42edf86d8d51fea481ee15d6993b871de02cb7c89b3c/data/YgGZT4Zf5gyRiifpF9KjIL7Zef0PAEtmgXuoMiasjSE5qGh5Y.oGUwZ1Sjuw.NDcyrWE1NXspvMGfa4Km35Jrvp1maJ9pw44VgkQTnQbe5cCGKlIGyBV1GagbfPtzyIHq3WhPCb9mh5ID7-xInvqrn6sZVRsfazoTs81Oj2skgXm04BrR5MWhiZDOlCc5qVbnKZzavUxokN4szmG8p8U9S43MWUZwnivUZViK7B8c2QZqvOADs56gu.u12K1eUhmkoBsTgbRTkzw-tkXuoR3aBTLkCbexrXqHzrT5xyw5GeeHhrap9ucP-CLGgK.O1QAHRVmj6rVVuWHKp22a2kcTyXo-9Jze2a9/
2013-03-21T18:39:56+00:00 NOTICE (5): TURPENTINE: Generated HMAC (718cb7f7adb385352f8e2c2af95f89775044a32f85eb2edc798a45a3980ec374) and ESI URL: http://www.trendsndeals.com/turpentine/esi/getBlock/method/ajax/access/private/ttl/0/hmac/718cb7f7adb385352f8e2c2af95f89775044a32f85eb2edc798a45a3980ec374/data/zsoKEq-EoxZPOQM0sxnVvfD6iD7CUuYbOtzsRtJAgUWh5c8C1ZgA.GtTc038RbGuHQ0mUhp1Fuu2s55CH5zEDtGMhrBaf47ikGlwDONrmNiufYQVVo-jLqWnesjH6gMUU4fJkgNrbzYdZ3GuMdoHbduyF9WZUInHLeL1YkeUaZo.9uluvyt9FlxiUHazkVDi692sqRixze89.APZ6zo8SGc5g8AcIoafh.X4rts42crDFdp1SQ0gfFgRxsuCQrmUqK19IFZoIrLOjMSXVm8SON9HnJbroxMpmPoDVG9YbMUhcVf3La8yDFZUD31bq1MiwX5V2TrBIyc7Il7HLyUgyQ==/
2013-03-21T18:39:56+00:00 NOTICE (5): TURPENTINE: Generated HMAC (718cb7f7adb385352f8e2c2af95f89775044a32f85eb2edc798a45a3980ec374) and ESI URL: http://www.trendsndeals.com/turpentine/esi/getBlock/method/ajax/access/private/ttl/0/hmac/718cb7f7adb385352f8e2c2af95f89775044a32f85eb2edc798a45a3980ec374/data/zsoKEq-EoxZPOQM0sxnVvfD6iD7CUuYbOtzsRtJAgUWh5c8C1ZgA.GtTc038RbGuHQ0mUhp1Fuu2s55CH5zEDtGMhrBaf47ikGlwDONrmNiufYQVVo-jLqWnesjH6gMUU4fJkgNrbzYdZ3GuMdoHbduyF9WZUInHLeL1YkeUaZo.9uluvyt9FlxiUHazkVDi692sqRixze89.APZ6zo8SGc5g8AcIoafh.X4rts42crDFdp1SQ0gfFgRxsuCQrmUqK19IFZoIrLOjMSXVm8SON9HnJbroxMpmPoDVG9YbMUhcVf3La8yDFZUD31bq1MiwX5V2TrBIyc7Il7HLyUgyQ==/
2013-03-21T18:39:56+00:00 NOTICE (5): TURPENTINE: Generated HMAC (e42e76c4af769a6d70b5aa3c06b24ba5bfe955d1b833553a0714b043d6f3e936) and ESI URL: http://www.trendsndeals.com/turpentine/esi/getBlock/method/esi/access/public/ttl/3600/hmac/e42e76c4af769a6d70b5aa3c06b24ba5bfe955d1b833553a0714b043d6f3e936/data/lXEFCojIJkqARWhX0VvSeUxkDtJcFjsXYL2WtNrdHMV.IkWbm.PCAfxAxoUHIUkIO871zFkNjoa52lplQpuDWprAAE8J5OCbzU3X7jCPSRKQpa9fByYQb1lvTHLDhLrDtIrmCzqW7U3iBwW8rYg0KyDES5AhZDySJ5x9wZHGAhKkswIpZyCVI7N-76nrsuONZbQgPlPZmlZVffiyUmO8hi8CGxGSyqizZXoVh4HOn3z.eueFBn5FCYj1gOa9B.zfytv0prW9XJvVbuvTltmCKg==/
2013-03-21T18:39:56+00:00 WARN (4): TURPENTINE: ESI data HMAC mismatch, expected (7c33d6d0f996c310e117fc63e30ee07c55132a0c029d1f71d4c09dfa6d570f0b) but recieved ()

does it verify that hmac is generated?

@aheadley
Copy link
Contributor

does it verify that hmac is generated?

Yes, it's being generated and included in the URL like it should. This means the /hmac/ param is being stripped out or something. Can you run varnishlog | grep /turpentine/esi/getBlock/ and reload the page to see what URLs Varnish is seeing? Note that they may cut off in the middle of the /data/ param, this is normal and just a display issue with varnishlog.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

alright this is what i got after running the varnishlog command above:

root@host [~]# varnishlog | grep /turpentine/esi/getBlock/
14 TxURL b /turpentine/esi/getBlock/method/esi/access/private/ttl/8640 0 /hmac/a5009d72e13dcb0f8c6d1519809154f41f180d8ab779091620b0ecd49367809e/data/fl iH39JLlhD.I6zNXKgZJeTJVU34FAaVOz38WowSTyEGcCJ.cENnuP9Uo7dt6bF9dv9joybd0qVdcypiUP avsvpZDJAFYxlGLKC4U665dQ-pgwrFtPC3Tr
14 TxURL b /turpentine/esi/getBlock/method/esi/access/public/ttl/3600/ hmac/e42e76c4af769a6d70b5aa3c06b24ba5bfe955d1b833553a0714b043d6f3e936/data/lXEFC ojIJkqARWhX0VvSeUxkDtJcFjsXYL2WtNrdHMV.IkWbm.PCAfxAxoUHIUkIO871zFkNjoa52lplQpuDW prAAE8J5OCbzU3X7jCPSRKQpa9fByYQb1lvT
12 Hash c /turpentine/esi/getBlock/method/esi/access/private/ttl/8640 0 /hmac/a5009d72e13dcb0f8c6d1519809154f41f180d8ab779091620b0ecd49367809e/data/fl iH39JLlhD.I6zNXKgZJeTJVU34FAaVOz38WowSTyEGcCJ.cENnuP9Uo7dt6bF9dv9joybd0qVdcypiUP avsvpZDJAFYxlGLKC4U665dQ-pgwrFtPC3T
12 Hash c /turpentine/esi/getBlock/method/esi/access/public/ttl/3600/ hmac/e42e76c4af769a6d70b5aa3c06b24ba5bfe955d1b833553a0714b043d6f3e936/data/lXEFC ojIJkqARWhX0VvSeUxkDtJcFjsXYL2WtNrdHMV.IkWbm.PCAfxAxoUHIUkIO871zFkNjoa52lplQpuDW prAAE8J5OCbzU3X7jCPSRKQpa9fByYQb1lv

are things fine in this part?

@aheadley
Copy link
Contributor

are things fine in this part?

Yes, the /hmac/ param is making it to Varnish so either Apache is mangling the URL or something in Magento is causing the ESI controller to fail to find it in the URL.

To see what the ESI controller is seeing as the URL, make this change:

diff --git a/app/code/community/Nexcessnet/Turpentine/controllers/EsiController.php b/app/code/community/Nexcessnet/Turpentine/controllers/EsiController
index 71c1813..2068a4e 100644
--- a/app/code/community/Nexcessnet/Turpentine/controllers/EsiController.php
+++ b/app/code/community/Nexcessnet/Turpentine/controllers/EsiController.php
@@ -43,6 +43,7 @@ class Nexcessnet_Turpentine_EsiController extends Mage_Core_Controller_Front_Act
             $esiHelper = Mage::helper( 'turpentine/esi' );
             $dataHelper = Mage::helper( 'turpentine/data' );
             $debugHelper = Mage::helper( 'turpentine/debug' );
+$debugHelper->logNotice( 'Rendering from ESI URL: %s', Mage::helper( 'core/http' )->getRequestUri() );
             $esiDataHmac = $req->getParam( $esiHelper->getEsiHmacParam() );
             $esiDataParamValue = $req->getParam( $esiHelper->getEsiDataParam() );
             if( $esiDataHmac !== ( $hmac = $dataHelper->getHmac( $esiDataParamValue ) ) ) {

Then hit the Flush Cache Storage button and reload the page and check Magento's log for the entries like Rendering from ESI URL: xxx.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

Hi, this is the result:

2013-03-21T19:29:50+00:00 NOTICE (5): TURPENTINE: Rendering from ESI URL: /turpentine/esi/getBlock/method/esi/access/private/ttl/86400

2013-03-21T19:29:50+00:00 WARN (4): TURPENTINE: ESI data HMAC mismatch, expected (7c33d6d0f996c310e117fc63e30ee07c55132a0c029d1f71d4c09dfa6d570f0b) but recieved ()

2013-03-21T19:29:51+00:00 NOTICE (5): TURPENTINE: Rendering from ESI URL: /turpentine/esi/getBlock/method/esi/access/public/ttl/3600/hmac/e42e76c4af769a6d70b5aa3c06b24ba5bfe955d1b833553a0714b043d6f3e936/data/lXEFCojIJkqARWhX0VvSeUxkDtJcFjsXYL2WtNrdHMV.IkWbm.PCAfxAxoUHIUkIO871zFkNjoa52lplQpuDWprAAE8J5OCbzU3X7jCPSRKQpa9fByYQb1lvTHLDhLrDtIrmCzqW7U3iBwW8rYg0KyDES5AhZDySJ5x9wZHGAhKkswIpZyCVI7N-76nrsuONZbQgPlPZmlZVffiyUmO8hi8CGxGSyqizZXoVh4HOn3z.eueFBn5FCYj1gOa9B.zfytv0prW9XJvVbuvTltmCKg==/

is nginx not passing the /hmac/ properly somewhere?

@aheadley
Copy link
Contributor

Do HTTP requests go through Nginx, or do they go straight to Varnish? If HTTP skips Nginx then the issue is with Apache. Even if it doesn't, since Varnish saw the un-mangled URLs then the problem is still probably with Apache. Unfortunately I've never seen anything like this so I can't offer much help fixing it, though the first thing I would try is disabling mod_pagespeed.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

http requests go through nginx, then it goes to varnish. i've turned off mod_pagespeed but the issue still remains.

you mentioned that the /hmac/ part is for security, would removing the check for that be extremely unsafe?

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

also, if I don't click the "Apply Varnish Config" (after restarting varnish, nginx, and apache), everything loads up ok (no "ESI data is not valid" error on the page), and http requests still goes through varnish (i verified it with varnishlog).

could it be something in the .vcl?

@aheadley
Copy link
Contributor

you mentioned that the /hmac/ part is for security, would removing the check for that be extremely unsafe?

No, but it also wouldn't fix this issue. The /data/ param is also being cut off which is needed to actually render the ESI included content.

also, if I don't click the "Apply Varnish Config" (after restarting varnish, nginx, and apache), everything loads up ok (no "ESI data is not valid" error on the page), and http requests still goes through varnish (i verified it with varnishlog).

That is normal. With the default VCL (what is applied at start up if you haven't changed it) Varnish will cache almost nothing Magento sends because the frontend cookie makes it think it shouldn't. Additionally, without the Turpentine generated VCL Turpentine will not know that the request came through Varnish and won't do any ESI injection.

As an aside, the hits/misses stat in varnishstat is somewhat misleading as it only counts requests that Varnish tries to pull from the cache, but because of the frontend cookie most requests will just get passed to the backend and bypass the cache check, not counting towards the hit/miss stat. Also note that all requests that touch Varnish show up in varnishlog, regardless of whether they are cache hits, misses, or even bypass the cache check entirely and are passed to the backend.

could it be something in the .vcl?

No. The request URL is only modified in one place and it wouldn't cause a problem like this.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

I see. I noticed something that might be of value to the issue:

2013-03-21T18:39:55+00:00 NOTICE (5): TURPENTINE: Generated HMAC (a5009d72e13dcb0f8c6d1519809154f41f180d8ab779091620b0ecd49367809e) and ESI URL: http://www.trendsndeals.com/turpentine/esi/getBlock/method/esi/access/private/ttl/86400 /hmac/a5009d72e13dcb0f8c6d1519809154f41f180d8ab779091620b0ecd49367809e/data/fliH39JLlhD.I6zNXKgZJeTJVU34FAaVOz38WowSTyEGcCJ.cENnuP9Uo7dt6bF9dv9joybd0qVdcypiUPavsvpZDJAFYxlGLKC4U665dQ-pgwrFtPC3TrqfOXX.gt4j27-xQqDTkVhL-Y84WwZPjCgf.qPqv42HXFsEjI37UGqYTeL8Cx2iD6v15nrmn9iLZxVBkvdOyXTwge56scZ5tCDkjm6q6tbkI6xOLpUSjTO3rz-aoSzuH3X.Rtmb-xuVw1C7VZh9-G-Y-iEP9f1cWnAMjw2oDil7KxGQMAHVgZy72LBdFQHEr4EcLotr3gUfkjbPczpoMm7gD4pblHJfEpgr4XnfOg2pZVA-s5nH4zlHrnFrVu-1R6fHZcEWzvtiHDV4QkCrtd2b.W9LI2dLCQ==/

There is a whitespace right after "86400" above for the generated HMAC

and then i compared it with the error in system log, only the ESI URL with 86400 has the missing /hmac/ (the 3600 one is complete, which is consistent with the part where Generated HMAC shows there is no whitespace after it).

could the whitespace be the problem? where can i remove the extra whitespace?

@aheadley
Copy link
Contributor

could the whitespace be the problem? where can i remove the extra whitespace?

Yes, I saw that in the earlier log entry and assumed it was just from the copy/pasting the entry. The default TTL for private ESI blocks is pulled from Magento's cookie lifetime. Make sure there isn't a trailing space in the System > Configuration > Web > Session Cookie Management > Cookie Lifetime setting.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

haha there was indeed an extra trailing whitespace in the cookie lifetime setting.

it's working great now! website is so fast with turpentine! so happy haha. thanks so much man for all the help. you went beyond so much to help, i really appreciate that!

i checked varnistat and hitrate average is around 81%, should it be reaching higher than that? or is 81% the correct average?

@aheadley
Copy link
Contributor

i checked varnistat and hitrate average is around 81%, should it be reaching higher than that? or is 81% the correct average?

That sounds about right, though it is highly dependant on how many people are using the site and their behaviour.

it's working great now! website is so fast with turpentine!

Glad it's working for you now.

@nomadph
Copy link
Author

nomadph commented Mar 21, 2013

alright man, thanks so much again! big help!!

@dartsuresh
Copy link

I had the same error but didn`t get any solution please advise me.
Here is the varnish log

  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/71c1dfbb36517a1c0708c14ef603b72b75b5c5602d2414c2ab4b817f8b351fb5/data/b9xeFjc1rxwDVQzy1CWU1CgWAuSiaiHO-SmymU9PFa6MEHBQ5KnxZ3zRcrcZZFM703APqmngwseP6P4seMtW-ihNFj4V6o6Voy5-0i843lMzDmZCLiO2Sl0Fhfp9lUlIv7xa7wCQ8bt005dj9XJs2a1NBcrnFUmJRtZBTzbWZacB3zuTLwMBaCSDU5s-c5.NdYu0wgFle66sfZPAFsOn17H8N9nwUx3dcx7YuNDo160wDbd8QYmc3zUp4GxpWKQcUuiBPI1cfF9JLaz1V7uUF7ToiZpLrCbUAp4ByB9.oqtGHEEMFuzQgfg79J5BFp77DQ21xDHyNHCH.0jJ4espGzb8zX4aghADuMT29Hi8QFh5jrUeAE4GwCv1.p6lFoRN4X.x2SrHMchy5h.yeFSGsJKhQ.f2H.FhS2jdACVFUu51BfcmV.lT4Z26RoUoKB4ACZ3PdrfcA8VtMGvjsxQ02w==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/71c1dfbb36517a1c0708c14ef603b72b75b5c5602d2414c2ab4b817f8b351fb5/data/b9xeFjc1rxwDVQzy1CWU1CgWAuSiaiHO-SmymU9PFa6MEHBQ5KnxZ3zRcrcZZFM703APqmngwseP6P4seMtW-ihNFj4V6o6Voy5-0i843lMzDmZCLiO2Sl0Fhfp9lUlIv7xa7wCQ8bt005dj9XJs2a1NBcrnFUmJRtZBTzbWZacB3zuTLwMBaCSDU5s-c5.NdYu0wgFle66sfZPAFsOn17H8N9nwUx3dcx7YuNDo160wDbd8QYmc3zUp4GxpWKQcUuiBPI1cfF9JLaz1V7uUF7ToiZpLrCbUAp4ByB9.oqtGHEEMFuzQgfg79J5BFp77DQ21xDHyNHCH.0jJ4espGzb8zX4aghADuMT29Hi8QFh5jrUeAE4GwCv1.p6lFoRN4X.x2SrHMchy5h.yeFSGsJKhQ.f2H.FhS2jdACVFUu51BfcmV.lT4Z26RoUoKB4ACZ3PdrfcA8VtMGvjsxQ02w==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/71c1dfbb36517a1c0708c14ef603b72b75b5c5602d2414c2ab4b817f8b351fb5/data/b9xeFjc1rxwDVQzy1CWU1CgWAuSiaiHO-SmymU9PFa6MEHBQ5KnxZ3zRcrcZZFM703APqmngwseP6P4seMtW-ihNFj4V6o6Voy5-0i843lMzDmZCLiO2Sl0Fhfp9lUlIv7xa7wCQ8bt005dj9XJs2a1NBcrnFUmJRtZBTzbWZacB3zuTLwMBaCSDU5s-c5.NdYu0wgFle66sfZPAFsOn17H8N9nwUx3dcx7YuNDo160wDbd8QYmc3zUp4GxpWKQcUuiBPI1cfF9JLaz1V7uUF7ToiZpLrCbUAp4ByB9.oqtGHEEMFuzQgfg79J5BFp77DQ21xDHyNHCH.0jJ4espGzb8zX4aghADuMT29Hi8QFh5jrUeAE4GwCv1.p6lFoRN4X.x2SrHMchy5h.yeFSGsJKhQ.f2H.FhS2jdACVFUu51BfcmV.lT4Z26RoUoKB4ACZ3PdrfcA8VtMGvjsxQ02w==/
  • RespHeader X-Varnish-URL: /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/71c1dfbb36517a1c0708c14ef603b72b75b5c5602d2414c2ab4b817f8b351fb5/data/b9xeFjc1rxwDVQzy1CWU1CgWAuSiaiHO-SmymU9PFa6MEHBQ5KnxZ3zRcrcZZFM703APqmngwseP6P4seMtW-ihNFj4V6o6Voy5-0i843lMzDmZCLiO2Sl0Fhfp9lUlIv7xa7wCQ8bt005dj9XJs2a1NBcrnFUmJRtZBTzbWZacB3zuTLwMBaCSDU5s-c5.NdYu0wgFle66sfZPAFsOn17H8N9nwUx3dcx7YuNDo160wDbd8QYmc3zUp4GxpWKQcUuiBPI1cfF9JLaz1V7uUF7ToiZpLrCbUAp4ByB9.oqtGHEEMFuzQgfg79J5BFp77DQ21xDHyNHCH.0jJ4espGzb8zX4aghADuMT29Hi8QFh5jrUeAE4GwCv1.p6lFoRN4X.x2SrHMchy5h.yeFSGsJKhQ.f2H.FhS2jdACVFUu51BfcmV.lT4Z26RoUoKB4ACZ3PdrfcA8VtMGvjsxQ02w==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/a3482b0355cb05e88762492303ce511ebdac8740e17c5052e4cb242fe88d03cb/data/1XLgu1E0hH-FMGDQcOBuXvNgIj0tORCo0jg79TYNa9kvrA8.3DAo4FK3bZ9lffYJG6aBb4Fu2CFBUF4Z1.sfsT00Rvyl8HJDBVJ3z1YEGcqWcDkOtgqZ2-Ql7P2r3Zp.QjdF8QvkBQwstv1AQ4HKHLoENYsKDDR4igQXsvK8kQIiI.2Ri9w4iRQ1zDNDUX6Xyq4JAgXAjSs1dFcw2qKgW19MM.9jFEpwWaRA-F7h9aHT24yNAwdJdlwEfsgjg8f.tSDaTzK97iel0iNOWU2E1EEPB-Grhhh8kjoo2bUqs9v3AJpZ98f21vHNzAkHG.r9hEhUzPhQCY55rIxxyeAb5GQeLdHcKTwgA-DHeRVkE4F1xLVbxOZR7g==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/a3482b0355cb05e88762492303ce511ebdac8740e17c5052e4cb242fe88d03cb/data/1XLgu1E0hH-FMGDQcOBuXvNgIj0tORCo0jg79TYNa9kvrA8.3DAo4FK3bZ9lffYJG6aBb4Fu2CFBUF4Z1.sfsT00Rvyl8HJDBVJ3z1YEGcqWcDkOtgqZ2-Ql7P2r3Zp.QjdF8QvkBQwstv1AQ4HKHLoENYsKDDR4igQXsvK8kQIiI.2Ri9w4iRQ1zDNDUX6Xyq4JAgXAjSs1dFcw2qKgW19MM.9jFEpwWaRA-F7h9aHT24yNAwdJdlwEfsgjg8f.tSDaTzK97iel0iNOWU2E1EEPB-Grhhh8kjoo2bUqs9v3AJpZ98f21vHNzAkHG.r9hEhUzPhQCY55rIxxyeAb5GQeLdHcKTwgA-DHeRVkE4F1xLVbxOZR7g==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/a3482b0355cb05e88762492303ce511ebdac8740e17c5052e4cb242fe88d03cb/data/1XLgu1E0hH-FMGDQcOBuXvNgIj0tORCo0jg79TYNa9kvrA8.3DAo4FK3bZ9lffYJG6aBb4Fu2CFBUF4Z1.sfsT00Rvyl8HJDBVJ3z1YEGcqWcDkOtgqZ2-Ql7P2r3Zp.QjdF8QvkBQwstv1AQ4HKHLoENYsKDDR4igQXsvK8kQIiI.2Ri9w4iRQ1zDNDUX6Xyq4JAgXAjSs1dFcw2qKgW19MM.9jFEpwWaRA-F7h9aHT24yNAwdJdlwEfsgjg8f.tSDaTzK97iel0iNOWU2E1EEPB-Grhhh8kjoo2bUqs9v3AJpZ98f21vHNzAkHG.r9hEhUzPhQCY55rIxxyeAb5GQeLdHcKTwgA-DHeRVkE4F1xLVbxOZR7g==/
  • RespHeader X-Varnish-URL: /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/a3482b0355cb05e88762492303ce511ebdac8740e17c5052e4cb242fe88d03cb/data/1XLgu1E0hH-FMGDQcOBuXvNgIj0tORCo0jg79TYNa9kvrA8.3DAo4FK3bZ9lffYJG6aBb4Fu2CFBUF4Z1.sfsT00Rvyl8HJDBVJ3z1YEGcqWcDkOtgqZ2-Ql7P2r3Zp.QjdF8QvkBQwstv1AQ4HKHLoENYsKDDR4igQXsvK8kQIiI.2Ri9w4iRQ1zDNDUX6Xyq4JAgXAjSs1dFcw2qKgW19MM.9jFEpwWaRA-F7h9aHT24yNAwdJdlwEfsgjg8f.tSDaTzK97iel0iNOWU2E1EEPB-Grhhh8kjoo2bUqs9v3AJpZ98f21vHNzAkHG.r9hEhUzPhQCY55rIxxyeAb5GQeLdHcKTwgA-DHeRVkE4F1xLVbxOZR7g==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/359dfe27affbc23a2ca4fbed1f915cd4cc4a10960239d5941043e8498612b1a5/data/QdbVcLIYIrmbk4qLp3JsqA5n.rAGyDTMPRFIGVThe4lByuGWb1LnLv8-lJIWuJbNbgUyov7olbKpgZ8iCbX6IuG6JZn-sBB6KAX1yu0P7PyOGbuJUQr64b76mKnhE2pzQo.3GaKOGdY694E7OvMtFIOareweHAtmlKyx5wlelsxMDgPCWMxBQfkXW0A9YC3qwLstbhNgXODG4jeciK7cFu7OeiVeT.csDT0ohof3ldbuf9sbb7n7qCUMSHRfaGm5VPuOj0SClSzblWMRzXK7nXPJXqWofmeNIcOkQGZCt28wET0jKp1GFeg7IqZJvAXlEoK4Cc2C4KBe6w817MDP3FBvQFo9.1df67mlh7JOxyxayMY3m2MkyA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/359dfe27affbc23a2ca4fbed1f915cd4cc4a10960239d5941043e8498612b1a5/data/QdbVcLIYIrmbk4qLp3JsqA5n.rAGyDTMPRFIGVThe4lByuGWb1LnLv8-lJIWuJbNbgUyov7olbKpgZ8iCbX6IuG6JZn-sBB6KAX1yu0P7PyOGbuJUQr64b76mKnhE2pzQo.3GaKOGdY694E7OvMtFIOareweHAtmlKyx5wlelsxMDgPCWMxBQfkXW0A9YC3qwLstbhNgXODG4jeciK7cFu7OeiVeT.csDT0ohof3ldbuf9sbb7n7qCUMSHRfaGm5VPuOj0SClSzblWMRzXK7nXPJXqWofmeNIcOkQGZCt28wET0jKp1GFeg7IqZJvAXlEoK4Cc2C4KBe6w817MDP3FBvQFo9.1df67mlh7JOxyxayMY3m2MkyA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/359dfe27affbc23a2ca4fbed1f915cd4cc4a10960239d5941043e8498612b1a5/data/QdbVcLIYIrmbk4qLp3JsqA5n.rAGyDTMPRFIGVThe4lByuGWb1LnLv8-lJIWuJbNbgUyov7olbKpgZ8iCbX6IuG6JZn-sBB6KAX1yu0P7PyOGbuJUQr64b76mKnhE2pzQo.3GaKOGdY694E7OvMtFIOareweHAtmlKyx5wlelsxMDgPCWMxBQfkXW0A9YC3qwLstbhNgXODG4jeciK7cFu7OeiVeT.csDT0ohof3ldbuf9sbb7n7qCUMSHRfaGm5VPuOj0SClSzblWMRzXK7nXPJXqWofmeNIcOkQGZCt28wET0jKp1GFeg7IqZJvAXlEoK4Cc2C4KBe6w817MDP3FBvQFo9.1df67mlh7JOxyxayMY3m2MkyA==/
  • RespHeader X-Varnish-URL: /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/359dfe27affbc23a2ca4fbed1f915cd4cc4a10960239d5941043e8498612b1a5/data/QdbVcLIYIrmbk4qLp3JsqA5n.rAGyDTMPRFIGVThe4lByuGWb1LnLv8-lJIWuJbNbgUyov7olbKpgZ8iCbX6IuG6JZn-sBB6KAX1yu0P7PyOGbuJUQr64b76mKnhE2pzQo.3GaKOGdY694E7OvMtFIOareweHAtmlKyx5wlelsxMDgPCWMxBQfkXW0A9YC3qwLstbhNgXODG4jeciK7cFu7OeiVeT.csDT0ohof3ldbuf9sbb7n7qCUMSHRfaGm5VPuOj0SClSzblWMRzXK7nXPJXqWofmeNIcOkQGZCt28wET0jKp1GFeg7IqZJvAXlEoK4Cc2C4KBe6w817MDP3FBvQFo9.1df67mlh7JOxyxayMY3m2MkyA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/public/ttl/3600/hmac/e1a7b0d771e3fc9d4a3426c0902598afeecb5034af1e2c9307d75d43485faed9/data/.UP5Dw2-hHnh26in2Q7YXVwhPsRf5h9t9o5cM-VxhhPK8xel.sM4SGBiXf6AjF-L6iECwvKc93fUca5psA6.Xbb.QTS78BEXUtFlzN9YPLna1v1gsdyiNa-Z2WqJvxisAoDrq6STIUdzOs2niQ8e1YDrr4z6avQfNmmfa98P1YkGstJEr8AtNT9NTlYQkcmJ-oEX2lUzpZC9sYDWChVPTQWYyjcoeWIXXV2Kv.kxN5T1jnVQ5sOHQa-KEgXg7PhqeMrSEXPjfPQzqdOeVeH7bA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/public/ttl/3600/hmac/e1a7b0d771e3fc9d4a3426c0902598afeecb5034af1e2c9307d75d43485faed9/data/.UP5Dw2-hHnh26in2Q7YXVwhPsRf5h9t9o5cM-VxhhPK8xel.sM4SGBiXf6AjF-L6iECwvKc93fUca5psA6.Xbb.QTS78BEXUtFlzN9YPLna1v1gsdyiNa-Z2WqJvxisAoDrq6STIUdzOs2niQ8e1YDrr4z6avQfNmmfa98P1YkGstJEr8AtNT9NTlYQkcmJ-oEX2lUzpZC9sYDWChVPTQWYyjcoeWIXXV2Kv.kxN5T1jnVQ5sOHQa-KEgXg7PhqeMrSEXPjfPQzqdOeVeH7bA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/public/ttl/3600/hmac/e1a7b0d771e3fc9d4a3426c0902598afeecb5034af1e2c9307d75d43485faed9/data/.UP5Dw2-hHnh26in2Q7YXVwhPsRf5h9t9o5cM-VxhhPK8xel.sM4SGBiXf6AjF-L6iECwvKc93fUca5psA6.Xbb.QTS78BEXUtFlzN9YPLna1v1gsdyiNa-Z2WqJvxisAoDrq6STIUdzOs2niQ8e1YDrr4z6avQfNmmfa98P1YkGstJEr8AtNT9NTlYQkcmJ-oEX2lUzpZC9sYDWChVPTQWYyjcoeWIXXV2Kv.kxN5T1jnVQ5sOHQa-KEgXg7PhqeMrSEXPjfPQzqdOeVeH7bA==/
  • RespHeader X-Varnish-URL: /turpentine/esi/getBlock/method/esi/access/public/ttl/3600/hmac/e1a7b0d771e3fc9d4a3426c0902598afeecb5034af1e2c9307d75d43485faed9/data/.UP5Dw2-hHnh26in2Q7YXVwhPsRf5h9t9o5cM-VxhhPK8xel.sM4SGBiXf6AjF-L6iECwvKc93fUca5psA6.Xbb.QTS78BEXUtFlzN9YPLna1v1gsdyiNa-Z2WqJvxisAoDrq6STIUdzOs2niQ8e1YDrr4z6avQfNmmfa98P1YkGstJEr8AtNT9NTlYQkcmJ-oEX2lUzpZC9sYDWChVPTQWYyjcoeWIXXV2Kv.kxN5T1jnVQ5sOHQa-KEgXg7PhqeMrSEXPjfPQzqdOeVeH7bA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/bf5e9801c7f0f464d859b38455efd8d2f1c1d90f619f5f0e32264aae8763f9c3/data/dtNUKfKnJD0cfTrMtp5AurOw7pfc7Cnj6s9DCI6mrDLzqykIwsc7WdsfaC.4bdtQOMfDPtyTPRqd-hMy1Js-OSgyMlsDYGyBqC5qZb4gGcWruP0OM16QovGLZR8MMeB9zzZBARW36xYSrj.bbCHH6gEnUo2uUsiesyLAm.Wrh9vzC9eZPv.pRdhZgtU40W0RyQ-LGvU7JVyLNC53Z6K6l5TeKLrytdfW8I7O9ZE6axLWi6ehW6F3Viq243SZ11TsJaf1zrZLcA-2u-Ag1aBlj31hnM..rOQ0hdno9ycEYJ1fWQ7hIVXdFn99E2dPEwphAFVdsUfuVNtSOe6TtDt0QA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/bf5e9801c7f0f464d859b38455efd8d2f1c1d90f619f5f0e32264aae8763f9c3/data/dtNUKfKnJD0cfTrMtp5AurOw7pfc7Cnj6s9DCI6mrDLzqykIwsc7WdsfaC.4bdtQOMfDPtyTPRqd-hMy1Js-OSgyMlsDYGyBqC5qZb4gGcWruP0OM16QovGLZR8MMeB9zzZBARW36xYSrj.bbCHH6gEnUo2uUsiesyLAm.Wrh9vzC9eZPv.pRdhZgtU40W0RyQ-LGvU7JVyLNC53Z6K6l5TeKLrytdfW8I7O9ZE6axLWi6ehW6F3Viq243SZ11TsJaf1zrZLcA-2u-Ag1aBlj31hnM..rOQ0hdno9ycEYJ1fWQ7hIVXdFn99E2dPEwphAFVdsUfuVNtSOe6TtDt0QA==/
  • ReqURL /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/bf5e9801c7f0f464d859b38455efd8d2f1c1d90f619f5f0e32264aae8763f9c3/data/dtNUKfKnJD0cfTrMtp5AurOw7pfc7Cnj6s9DCI6mrDLzqykIwsc7WdsfaC.4bdtQOMfDPtyTPRqd-hMy1Js-OSgyMlsDYGyBqC5qZb4gGcWruP0OM16QovGLZR8MMeB9zzZBARW36xYSrj.bbCHH6gEnUo2uUsiesyLAm.Wrh9vzC9eZPv.pRdhZgtU40W0RyQ-LGvU7JVyLNC53Z6K6l5TeKLrytdfW8I7O9ZE6axLWi6ehW6F3Viq243SZ11TsJaf1zrZLcA-2u-Ag1aBlj31hnM..rOQ0hdno9ycEYJ1fWQ7hIVXdFn99E2dPEwphAFVdsUfuVNtSOe6TtDt0QA==/
  • RespHeader X-Varnish-URL: /turpentine/esi/getBlock/method/esi/access/private/ttl/864000/hmac/bf5e9801c7f0f464d859b38455efd8d2f1c1d90f619f5f0e32264aae8763f9c3/data/dtNUKfKnJD0cfTrMtp5AurOw7pfc7Cnj6s9DCI6mrDLzqykIwsc7WdsfaC.4bdtQOMfDPtyTPRqd-hMy1Js-OSgyMlsDYGyBqC5qZb4gGcWruP0OM16QovGLZR8MMeB9zzZBARW36xYSrj.bbCHH6gEnUo2uUsiesyLAm.Wrh9vzC9eZPv.pRdhZgtU40W0RyQ-LGvU7JVyLNC53Z6K6l5TeKLrytdfW8I7O9ZE6axLWi6ehW6F3Viq243SZ11TsJaf1zrZLcA-2u-Ag1aBlj31hnM..rOQ0hdno9ycEYJ1fWQ7hIVXdFn99E2dPEwphAFVdsUfuVNtSOe6TtDt0QA==/

@aricwatson
Copy link
Contributor

It looks like varnish is working, or at least ESI calls are being made. I'd suggest checking this to help see if Turpentine is set up and working correctly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants