0 Comments

FAQ

发布于:2013-02-25  |   作者:广州网站建设  |   已聚集:人围观
FAQ

Q:某些HTML页面的http头信息中常带有no-cache头,如何缓存?

A:常规的配置无法实现缓存,需要修改Varnish配置文件,要去掉http头信息中的里no-cache头,修改如下内容:

广州网站建设,网站建设,广州网页设计,广州网站设计
  1. sub vcl_fetch {  
  2.         if (req.url ~ "html$") {  
  3.            set beresp.ttl = 10m;  
  4.            set beresp.do_gzip = true;  
  5.            unset beresp.http.Cache-Control;  
  6.            unset beresp.http.Pragma;  
  7.            set beresp.http.Cache-Control = "max-age=60";  
  8.            unset beresp.http.Expires;  
  9.           }  
  10. }  

 

如果html页面带有cookie,还需要在sub vcl_recv { } 配置中添加如下内容:

  1. sub vcl_recv {  
  2.      if (req.request == "GET" && req.url ~ "\.(js|css|html|jpg|png|gif|swf|jpeg| ico)$") {  
  3.         unset req.http.cookie;  
  4.      }  
  5. }  

Q:可以在32位机器上运行Varnish吗?

A:可以,不过32位机器不支持大于2GB的文件存储,所以推荐使用64位机器。

Q:Varnish可以做正向代理吗?

A:不可以,Varnish需要配置所有后端服务器到VCL。

Q:怎样做才能在后端服务器记录客户端的IP地址?

A:这是缓存服务器常常遇到的问题。X-Forwarded-For的相关解释已经在前面讲述,只要在后面的Web服务器日志格式中加上相关参数即可。Apache的日志格式定义类似,为Log Format "%{X-Forwarded-For}i %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"% {User-Agent}i/"" varnishlog

CustomLog /var/log/apache2.log varnishlog

Q:Varnish可以加速https吗?

A:目前还不行,欲知相关信息请密切关注官方网站。

Q:可以查看Varnish缓存了哪些内容吗?

A:目前不可能,如果一个命令列出所有缓存的内容,那么缓存的内容是上千万或者更多,这样会导致因系统资源紧张而使Varnish暂停服务。


广州网站建设,网站建设,广州网页设计,广州网站设计

飞机