varnish 配置文件分享(sens杨 注释)

2019-10-13 23:07:09刘景俊

前言:
varnish 为目前新兴起来的软件,由于中文文档比较少,配置文件比较复杂,所以在运用起来也是特别的费劲。一个偶然的机会在一个群里,有位varnish高手( sens杨 )发表了一篇他对varnish配置文件理解的文档。对于学者来说很有价值。所以转载了过来。

原文如下:

varnish配置文件原文地址:http://groups.drupal.org/node/63203

注:红色字体是英文的直接翻译,有些地方翻译的不好
绿色部分是一些思考,这个配置对自身的业务配置的很详细,现在对除了cookie和TTL那部分外其他可以理解80%,慢慢学习体会

    backend default {     .host = "127.0.0.1";  
  1.   .port = "8008";     .connect_timeout = 600s;  
  2.   .first_byte_timeout = 600s;     .between_bytes_timeout = 600s;  
  3. }     
  4. backend lighttpd {     .host = "127.0.0.1";  
  5.   .port = "81";     .connect_timeout = 600s;  
  6.   .first_byte_timeout = 600s;     .between_bytes_timeout = 600s;  
  7. }     
  8. acl techmission_internal {     "localhost";  
  9.   "127.0.0.1";   }  
  10. sub vcl_recv {     // Allow a grace period for offering "stale" data in case backend lags (http://varnish-cache.org/wiki/VCLExampleGrace)  
  11. // 如果backend数据滞后,允许为“过时”数据提供一个宽松期     set req.grace = 5m;  
  12.   // block outside world from our test sites   // 阻止非自己说测试网站(的数据访问)  
  13.   if ((req.http.host ~ "www.domain1.org|www.domain2.org") && !(client.ip ~ techmission_internal) && !(req.url ~ "^/ad|^/files")) {       error 403 "Forbidden";  
  14.   }     if((req.url ~ "/server-status" || req.url ~ "/whm-server-status") && !(client.ip ~ techmission_internal)) {  
  15.   error 404 "Not Found";     }  
  16.   // add ping url to test Varnish status   // 增加ping URL测试varnish状态(这个功能使用大部分vcl都没配置,可以增加一个监控状态)