Varnish 4.0.1, Apache, Centos 7, Plesk 12, Wordpress with w3 total cache - Varnish not caching html <p>I set up varnish on my site the other day and I don't believe it is working correctly as the age shows as 0:</p> <pre><code>The url we checked: pbsgroups.deep-image.co.uk HTTP/1.1 200 OK Date: Wed, 24 Feb 2016 09:57:14 GMT Server: Apache Link: &lt;http://pbsgroups.deep-image.co.uk/wp-json/&gt;; rel="https://api.w.org/", &lt;http://pbsgroups.deep-image.co.uk/&gt;; rel=shortlink Expires: Wed, 24 Feb 2016 10:57:15 GMT Pragma: public Cache-Control: max-age=3600, public X-Powered-By: PleskLin X-Pingback: http://pbsgroups.deep-image.co.uk/xmlrpc.php Vary: Accept-Encoding Set-Cookie: iSLuxE=1; expires=Wed, 24-Feb-2016 12:57:14 GMT; Max-Age=10800 Last-Modified: Wed, 24 Feb 2016 09:57:15 GMT Etag: 33984224b175af821c75fc660dbd42a8 X-Mod-Pagespeed: 1.10.33.5-0 Content-Encoding: gzip Content-Length: 7851 Content-Type: text/html; charset=UTF-8 X-Varnish: 655877 Age: 0 Via: 1.1 varnish-v4 Connection: keep-alive </code></pre> <p>Static content works perectly:</p> <pre><code>The url we checked: pbsgroups.deep-image.co.uk/wp-includes/css/dashicons.min.css?ver=4.4.2 HTTP/1.1 200 OK Date: Wed, 24 Feb 2016 09:34:34 GMT Server: Apache Content-Length: 28526 Last-Modified: Thu, 18 Feb 2016 11:04:30 GMT ETag: "b438-52c0954a5d637-gzip" Vary: Accept-Encoding,User-Agent Cache-Control: max-age=31536000, public Expires: Thu, 23 Feb 2017 09:08:56 GMT X-Powered-By: W3 Total Cache/0.9.4.1 Pragma: public X-Original-Content-Length: 46136 Content-Encoding: gzip X-Content-Type-Options: nosniff Content-Type: text/css X-Varnish: 361406 820497 Age: 21 Via: 1.1 varnish-v4 Connection: keep-alive </code></pre> <p>This is what isvarnishworking.com has got to say on this:</p> <pre><code>Varnish appears to be responding at that url, but the Cache-Control header's "max-age" value is less than 1, which means that Varnish will never serve content from cache at this url. </code></pre> <p>Here is a copy of my .htaccess (made with w3 total cache):</p> <pre><code>## EXPIRES CACHING ## ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType application/pdf "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" ## EXPIRES CACHING ## # BEGIN W3TC CDN &lt;FilesMatch "\. (asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|woff|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLASS|DIVX|DOC|DOCX|EOT|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|JSON|MDB|MID|MIDI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SVG|SVGZ|SWF|TAR|TIF|TIFF|TTF|TTC|WAV|WMA|WRI|WOFF|XLA|XLS|XLSX|XLT|XLW|ZIP)$"&gt; &lt;IfModule mod_rewrite.c&gt; RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule .* - [E=CANONICAL:http://pbsgroups.deep-image.co.uk {REQUEST_URI},NE] RewriteCond %{HTTPS} =on RewriteRule .* - [E=CANONICAL:https://pbsgroups.deep-image.co.uk%{REQUEST_URI},NE] &lt;/IfModule&gt; &lt;IfModule mod_headers.c&gt; Header set Link "&lt;%{CANONICAL}e&gt;; rel=\"canonical\"" &lt;/IfModule&gt; &lt;/FilesMatch&gt; &lt;FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$"&gt; &lt;IfModule mod_headers.c&gt; Header set Access-Control-Allow-Origin "*" &lt;/IfModule&gt; &lt;/FilesMatch&gt; # END W3TC CDN # BEGIN W3TC Browser Cache &lt;IfModule mod_mime.c&gt; AddType text/css .css AddType text/x-component .htc AddType application/x-javascript .js AddType application/javascript .js2 AddType text/javascript .js3 AddType text/x-js .js4 AddType text/html .html .htm AddType text/richtext .rtf .rtx AddType image/svg+xml .svg .svgz AddType text/plain .txt AddType text/xsd .xsd AddType text/xsl .xsl AddType text/xml .xml AddType video/asf .asf .asx .wax .wmv .wmx AddType video/avi .avi AddType image/bmp .bmp AddType application/java .class AddType video/divx .divx AddType application/msword .doc .docx AddType application/vnd.ms-fontobject .eot AddType application/x-msdownload .exe AddType image/gif .gif AddType application/x-gzip .gz .gzip AddType image/x-icon .ico AddType image/jpeg .jpg .jpeg .jpe AddType application/json .json AddType application/vnd.ms-access .mdb AddType audio/midi .mid .midi AddType video/quicktime .mov .qt AddType audio/mpeg .mp3 .m4a AddType video/mp4 .mp4 .m4v AddType video/mpeg .mpeg .mpg .mpe AddType application/vnd.ms-project .mpp AddType application/x-font-otf .otf AddType application/vnd.ms-opentype .otf AddType application/vnd.oasis.opendocument.database .odb AddType application/vnd.oasis.opendocument.chart .odc AddType application/vnd.oasis.opendocument.formula .odf AddType application/vnd.oasis.opendocument.graphics .odg AddType application/vnd.oasis.opendocument.presentation .odp AddType application/vnd.oasis.opendocument.spreadsheet .ods AddType application/vnd.oasis.opendocument.text .odt AddType audio/ogg .ogg AddType application/pdf .pdf AddType image/png .png AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx AddType audio/x-realaudio .ra .ram AddType application/x-shockwave-flash .swf AddType application/x-tar .tar AddType image/tiff .tif .tiff AddType application/x-font-ttf .ttf .ttc AddType application/vnd.ms-opentype .ttf .ttc AddType audio/wav .wav AddType audio/wma .wma AddType application/vnd.ms-write .wri AddType application/font-woff .woff AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw AddType application/zip .zip &lt;/IfModule&gt; &lt;IfModule mod_expires.c&gt; ExpiresActive On ExpiresByType text/css A31536000 ExpiresByType text/x-component A31536000 ExpiresByType application/x-javascript A31536000 ExpiresByType application/javascript A31536000 ExpiresByType text/javascript A31536000 ExpiresByType text/x-js A31536000 ExpiresByType text/html A3600 ExpiresByType text/richtext A3600 ExpiresByType image/svg+xml A3600 ExpiresByType text/plain A3600 ExpiresByType text/xsd A3600 ExpiresByType text/xsl A3600 ExpiresByType text/xml A3600 ExpiresByType video/asf A31536000 ExpiresByType video/avi A31536000 ExpiresByType image/bmp A31536000 ExpiresByType application/java A31536000 ExpiresByType video/divx A31536000 ExpiresByType application/msword A31536000 ExpiresByType application/vnd.ms-fontobject A31536000 ExpiresByType application/x-msdownload A31536000 ExpiresByType image/gif A31536000 ExpiresByType application/x-gzip A31536000 ExpiresByType image/x-icon A31536000 ExpiresByType image/jpeg A31536000 ExpiresByType application/json A31536000 ExpiresByType application/vnd.ms-access A31536000 ExpiresByType audio/midi A31536000 ExpiresByType video/quicktime A31536000 ExpiresByType audio/mpeg A31536000 ExpiresByType video/mp4 A31536000 ExpiresByType video/mpeg A31536000 ExpiresByType application/vnd.ms-project A31536000 ExpiresByType application/x-font-otf A31536000 ExpiresByType application/vnd.ms-opentype A31536000 ExpiresByType application/vnd.oasis.opendocument.database A31536000 ExpiresByType application/vnd.oasis.opendocument.chart A31536000 ExpiresByType application/vnd.oasis.opendocument.formula A31536000 ExpiresByType application/vnd.oasis.opendocument.graphics A31536000 ExpiresByType application/vnd.oasis.opendocument.presentation A31536000 ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000 ExpiresByType application/vnd.oasis.opendocument.text A31536000 ExpiresByType audio/ogg A31536000 ExpiresByType application/pdf A31536000 ExpiresByType image/png A31536000 ExpiresByType application/vnd.ms-powerpoint A31536000 ExpiresByType audio/x-realaudio A31536000 ExpiresByType image/svg+xml A31536000 ExpiresByType application/x-shockwave-flash A31536000 ExpiresByType application/x-tar A31536000 ExpiresByType image/tiff A31536000 ExpiresByType application/x-font-ttf A31536000 ExpiresByType application/vnd.ms-opentype A31536000 ExpiresByType audio/wav A31536000 ExpiresByType audio/wma A31536000 ExpiresByType application/vnd.ms-write A31536000 ExpiresByType application/font-woff A31536000 ExpiresByType application/vnd.ms-excel A31536000 ExpiresByType application/zip A31536000 &lt;/IfModule&gt; &lt;IfModule mod_deflate.c&gt; &lt;IfModule mod_setenvif.c&gt; BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html &lt;/IfModule&gt; &lt;IfModule mod_headers.c&gt; Header append Vary User-Agent env=!dont-vary &lt;/IfModule&gt; AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json &lt;IfModule mod_mime.c&gt; # DEFLATE by extension AddOutputFilter DEFLATE js css htm html xml &lt;/IfModule&gt; &lt;/IfModule&gt; &lt;FilesMatch "\.(css|htc|less|js|js2|js3|js4|CSS|HTC|LESS|JS|JS2|JS3|JS4)$"&gt; FileETag MTime Size &lt;IfModule mod_headers.c&gt; Header set Pragma "public" Header append Cache-Control "public" Header unset Set-Cookie Header set X-Powered-By "W3 Total Cache/0.9.4.1" &lt;/IfModule&gt; &lt;/FilesMatch&gt; &lt;FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|SVG|SVGZ|TXT|XSD|XSL|XML)$"&gt; FileETag MTime Size &lt;IfModule mod_headers.c&gt; Header set Pragma "public" Header append Cache-Control "public" Header set X-Powered-By "W3 Total Cache/0.9.4.1" &lt;/IfModule&gt; &lt;/FilesMatch&gt; &lt;FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|woff|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLASS|DIVX|DOC|DOCX|EOT|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|JSON|MDB|MID|MIDI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SVG|SVGZ|SWF|TAR|TIF|TIFF|TTF|TTC|WAV|WMA|WRI|WOFF|XLA|XLS|XLSX|XLT|XLW|ZIP)$"&gt; FileETag MTime Size &lt;IfModule mod_headers.c&gt; Header set Pragma "public" Header append Cache-Control "public" Header unset Set-Cookie Header set X-Powered-By "W3 Total Cache/0.9.4.1" &lt;/IfModule&gt; &lt;/FilesMatch&gt; # END W3TC Browser Cache # BEGIN WordPress &lt;IfModule mod_rewrite.c&gt; RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] &lt;/IfModule&gt; # END WordPress </code></pre> <p>The only thing that I could see different between the static files and html was that the html pages were sending cookies out, so I tried amending my default.vcl to unset cookies as follows:</p> <pre><code>sub vcl_recv { if ( !( req.url ~ ^/admin/) ) { unset req.http.Cookie; } } </code></pre> <p>I'm completely baffled by this now, so any help would be greatly appreciated</p>