Q:某些HTML页面的http头信息中常带有no-cache头,如何缓存?
A:常规的配置无法实现缓存,需要修改Varnish配置文件,要去掉http头信息中的里no-cache头,修改如下内容:
广州网站建设,网站建设,广州网页设计,广州网站设计
- sub vcl_fetch {
- if (req.url ~ "html$") {
- set beresp.ttl = 10m;
- set beresp.do_gzip = true;
- unset beresp.http.Cache-Control;
- unset beresp.http.Pragma;
- set beresp.http.Cache-Control = "max-age=60";
- unset beresp.http.Expires;
- }
- }
如果html页面带有cookie,还需要在sub vcl_recv { } 配置中添加如下内容:
- sub vcl_recv {
- if (req.request == "GET" && req.url ~ "\.(js|css|html|jpg|png|gif|swf|jpeg| ico)$") {
- unset req.http.cookie;
- }
- }
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暂停服务。
广州网站建设,网站建设,广州网页设计,广州网站设计



