使用Nginx来让Varnish支持HTTP/2

越来越多的公司开始使用HTTP/2来提高他们网站的性能以及用户体验. 开启HTTP/2的方法很简单,但是如何开启在HTTP/2与SSL 当你使用Varnish? 正如我们所了解的,Varnish 4.*不支持SSL, 我们需要找到一个方法来让这些组件协同工作. HTTP/2 正如你所设想的, 互联网进步我们终于有了新版本的HTTP协议, 它主要的有点是: -流与复用: 一个HTTP/2连接可以包含多个同时打开的流。请求的多路是由具有用它自己的流相关联的每个HTTP请求/响应交换实现的。流基本上是相互独立的,因此阻塞或失速请求或响应不会阻止上其他流的进展。 -报头压缩: 在HTTP / 1.1中 Continue Reading

WP-Rocket + Vanrish 4 使用的自定义PURGE规则 (一)

最近把Blog的前端放到了阿里云香港B,为了更好的缓存和试验新的架构选用了很出名的Varnish来替换掉Nginx作为前端缓存服务器使用. 因为使用的是自定义的一个VCL文件,导致PURGE规则和Blog正在使用的缓存插件WP-Rocket不兼容,使用WP-Rocket插件内部自带的Varnish模块不能清理文章,清理缓存只对首页有效. 在查看了Varnish的日志之后发现,WP-Rocket发送的全局清理的参数类似于 http://example.com/*. 或者 http://example.com/page/.* 但是我的Varnish并没有配置支持Ban方法和支持正则表达式.为了能够 Continue Reading

Varnish4 强制所有缓存过期

如果你正在使用Varnish 4, 使用Ban命令/参数可以使缓存强制过期 varnishadm命令行中使用ban命令   VCL文件中使用BAN参数   在VCL文件中增加BAN方法   请注意: Ban只能清除已经在缓存中的对象,例如ban并不能阻止新的对象加入缓存或者正在被处理. 已缓存的对象满足ban将被标记为过时的(obsolete). 过时的对象会被自动回收和其他 obj.ttl==0 的对象一样.   更多内容请参考官方文档: http://book.varnish-software.com/4.0/chapters/Cache_Inval Continue Reading