Varnishing Wordpress

Mixing Varnish and HTTPS is usually a pain in the ass. Even more when Wordpress is involved. The common setup is to expose Nginx on the 443 port, let him handle the HTTPS connections, proxying to Varnish, and fetching back from Nginx - in HTTP - listening on a high port to serve regular contents. In the last step the request arriving to Wordpress is in plain HTTP, so the CMS generates HTTP URLs for included CSS and JS files, and the browser rejects to include such files when visiting…

Keep reading

Hash to Hash

Everyone had to deal at least once with Varnish, knows this: cookies handling may be your nemesis. But I've just found a useful trick, to publish here as future reference. sub vcl_hash { # Common hashing stuffs set req.http.hash = req.url; if (req.http.host) { set req.http.hash = req.http.hash + "#" + req.http.host; } else { set req.http.hash = req.http.hash + "#" + server.ip; } # Stuffing the hash! if (req.http.Cookie ~ "set_or_not_set_cookie_name") { hash_data("set_or_not_set_cookie_name"); } } This is reccomended…

Keep reading