0

The setup I have has Firefox talking to a web server with Squid being a caching proxy.

Firefox <--> Squid (ssl_bump) <--> Web server

While images (even on https) are cached and do see cache hits, most of the CSS and JavaScript files get cached and get released:

1367165735.552 RELEASE -1 FFFFFFFF 0CF738871B9B86A15838CE1BE65BEE8E  200 1367165735        -1 1367265735 x-squid-internal/vary -1/0 GET https://9.123.122.180/common/js/dojo/1.6/dijit/form/Button.xd.js
1367165735.552 RELEASE 00 00000179 532661AE3C1B87904B52AC3FB1B9F971  200 1367165718 1333798649        -1 application/x-javascript 2495/2495 GET https://9.123.122.180/common/js/dojo/1.6/dijit/form/Button.xd.js
1367165735.552 SWAPOUT 00 00000192 128BF66F1EB8A67509CC774E3DFB50DC  200 1367165734 1333798649        -1 application/x-javascript 2495/2495 GET https://9.123.122.180/common/js/dojo/1.6/dijit/form/Button.xd.js
1367165737.268 RELEASE -1 FFFFFFFF 184B43B9627622DA2CC2415794961437  200 1367165737        -1 1367265737 x-squid-internal/vary -1/0 GET https://9.123.122.180/common/js/dojo/themes/tundra.css
1367165737.268 RELEASE 00 0000017D F5692CC660A0F4BA4FEDC211275BA0E4  200 1367165720 1366120055        -1 text/css 14723/14723 GET https://9.123.122.180/common/js/dojo/themes/tundra.css
1367165737.268 SWAPOUT 00 00000193 D1D0E32C07C74BF2D4F235EFEAC33DE1  200 1367165736 1366120055        -1 text/css 14723/14723 GET https://9.123.122.180/common/js/dojo/themes/tundra.css

I tried playing with the switches in the config file, but nothing seems to be working.

offline_mode on
vary_ignore_expire on
reply_header_access Last-Modified deny all
request_header_access If-Modified-Since deny all
request_header_access Cache-Control deny all

Is there some other flag/setting that can prevent those unnecessary RELEASES? How do I debug it further?

1

What I've temporarily ended up doing is that I modified HttpHeader.cc in squid's src directory to turn a blind eye to the "Vary" header.

Original line:

  {"Vary", HDR_VARY, ftStr},       /* for now */

My workaround:

  {"Vary-junk", HDR_VARY, ftStr},       /* for now */

But yes, this is a crude hack that's grossly unsuitable for anything other than temporary testing. Hopefully there's a better way out.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.