博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Varnish 404错误怎么设置不缓存
阅读量:5019 次
发布时间:2019-06-12

本文共 2100 字,大约阅读时间需要 7 分钟。

配置的varnish,主要是做图片缓存,但是发现如果访问了一个不存在的路径图片,返回是404,就算把这个图片放上去了,重新访问

也是404,清除了这个图片的缓存访问才可以。
请问怎么设置这种想404状态吗的不缓存
backend default {
     .host = "ip";
     .port = "81";
}
backend test {
.host = "127.0.0.1";
.port = "8080";
}
acl local {
"localhost";
"127.0.0.1";
}
sub vcl_recv {
        if (req.http.host ~ "^js2.com$")
        {
        set req.backend = test;
        return (pass);
        }
#        if (beresp.status == "404")
#        {
#        return (pass);
#        }
        if (req.request == "PURGE") {
        if (!client.ip ~ local)
        { error 405 "Not Allowed.";
        return (lookup);
        }
                                                                }
        if (req.request == "GET" && req.url ~ "\.(jpg|png|gif|swf|jpeg|ico)$")
        {
        unset req.http.cookie;
        }
        if (req.http.x-forwarded-for)
        {
        set req.http.X-Forwarded-For = req.http.X-Forwarded-For ", " client.ip;
        }
                else { set req.http.X-Forwarded-For = client.ip;
                        }
        if (req.request != "GET" && req.request != "HEAD" && req.request != "PUT" && req.request != "POST" && req.request != "TRACE" && req.request != "OPTIONS" && req.request != "DELETE")
                {
                return (pipe);
                }
        if (req.request != "GET" && req.request != "HEAD")
                {
                return (pass);
                }
        if (req.http.Authorization || req.http.Cookie)
                {
                return (pass);
                }
        if (req.request == "GET" && req.url ~ "\.(php)($|\?)")
                {
                return (pass);
                }
        return (lookup);
}
sub vcl_pipe
        {
        return (pipe);
        }
sub vcl_pass
        { return (pass);
}
sub vcl_hash
        {
        set req.hash += req.url;
                if (req.http.host)
                {
                set req.hash += req.http.host;
                }
                else
                { set req.hash += server.ip; }
                return (hash);
        }
sub vcl_hit {
        if (!obj.cacheable)
        { return (pass); }
        return (deliver);
        }
sub vcl_miss
        {
        return (fetch);
        }
sub vcl_fetch {
        if (!beresp.cacheable)
                { return (pass);
                }
        if (beresp.http.Set-Cookie)
                { return (pass); }
        if (beresp.http.Pragma ~ "no-cache" || beresp.http.Cache-Control ~ "no-cache" || beresp.http.Cache-Control ~ "private")
                {return (pass); }
        if (req.request == "GET" && req.url ~ "\.(js|css|mp3|jpg|png|gif|swf|jpeg|ico)$")
                { set beresp.ttl = 7d; }
                return (deliver);
}
sub vcl_deliver {
                set resp.http.x-hits = obj.hits ;
                if (obj.hits > 0)
                { set resp.http.X-Cache = "HIT cqtel-bbs"; }
                else
                { set resp.http.X-Cache = "MISS cqtel-bbs"; }
}

转载于:https://www.cnblogs.com/centos-python/articles/8522204.html

你可能感兴趣的文章
Nginx 基本 安装..
查看>>
【凸优化】保留凸性的几个方式(交集、仿射变换、投影、线性分式变换)
查看>>
NYOJ-613//HDU-1176-免费馅饼,数字三角形的兄弟~~
查看>>
TFS --- GrantBackup Plan Permissions Error
查看>>
傅里叶级数与积分方程
查看>>
软工作业3:用户体验分析——以“南通大学教务管理系统微信公众号”为例
查看>>
Css:背景色透明,内容不透明之终极方法!兼容所有浏览器
查看>>
我们前端跟后端是怎么合作的
查看>>
mysql存储过程
查看>>
洛谷P2556 [AHOI2002] 黑白图像压缩 [模拟]
查看>>
letecode [136] - Single Number
查看>>
linux下设置固定IP的方法
查看>>
VMware虚拟机下Linux系统的全屏显示
查看>>
net core体系-web应用程序-4asp.net core2.0 项目实战(任务管理系统)-2项目搭建
查看>>
高效的jQuery
查看>>
ubuntu 16.04 (软件应用)-输入法
查看>>
windos7修复引导扇区
查看>>
Leetcode总结之Backtracking
查看>>
Android开发学习之路-图片颜色获取器开发(1)
查看>>
StackExchange.Redis 官方文档(一) Basics
查看>>