Nginx Cache中$request_filename(转)
对于Nginx的$request_filename变量指的就是请求的资源路径。在原先 OpenCDN节点端配置里面是这样的。
location ~ .*\.(png|html|htm|ico|jpg|jpeg|bmp|gif|js|css)$ {
## 忽略浏览器的缓存
proxy_ignore_headers Cache-Control;
proxy_ignore_headers Expires;
proxy_cache cache_one;
proxy_cache_valid 200 304 1h;
proxy_cache_key $host$uri$is_args$args;
expires 1h;
## 此处为host锁定,可定制有无
proxy_set_header Host $host;
add_header OpenCDN-Cache "$upstream_cache_status";
if (!-f $request_filename) {
proxy_pass http://ocdn_www.firefoxbug.net;
break;
}
}
对于!-f $request_filename这一段配置,主要意思就是如果location匹配了,发现请求的文件不存在,就回滚源站。那么怎么判定文件是否存在呢?Nginx去自定义的root路径下去找,如果找不到就去默认的root路径,这样找不到才回滚源站。
但是对于CDN的Cache配置这样就不对了,因为Nginx看到request_filename,不可能去Cache下面去找吧,Cache下面的文件名啥的都是hash的字符,文件里面的KEY才是文件名,不切实际。我也做过测试,上面和下面的都滚回源站,没什么区别。
# if (!-f $request_filename) {
proxy_pass http://ocdn_www.firefoxbug.net;
# break;
# }
Nginx Cache中$request_filename(转)的更多相关文章
- nginx cache的玩法
一.简介 Nginx版本从0.7.48开始,支持了类似Squid的缓存功能.这个缓存是把URL及相关组合当做Key,用Md5算法对Key进行哈希,得到硬盘上对应的哈希目录路径,从而将缓存内容保存在 ...
- 查看nginx cache命中率
一.在http header上增加命中显示 nginx提供了$upstream_cache_status这个变量来显示缓存的状态,我们可以在配置中添加一个http头来显示这一状态,达到类似squid的 ...
- NGINX Cache Management (.imh nginx)
In this article, we will explore the various NGINX cache configuration options, and tips on tweaking ...
- FastDFS_v5.05+nginx+cache集群安装配置手册
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.FastDFS简单介绍 FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统, ...
- 使用nginx cache缓存网站数据实践
Nginx本身就有缓存功能,能够缓存静态对象,比如图片.CSS.JS等内容直接缓存到本地,下次访问相同对象时,直接从缓存即可,无需访问后端静态服务器以及存储存储服务器,可以替代squid功能. 1 ...
- varnish/squid/nginx cache 有什么不同?
SQUID 是功能最全面的,但是架构太老,性能不咋的Varnish 是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的Nginx 本来是反向代理/web服务器,用了插件可以做 ...
- ADO:DataSet存入缓存Cache中并使用
原文发布时间为:2008-08-01 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...
- 将.NET dll注册到GAC(Global Assembly Cache)中
当发现有多个解决方案引用一个dll时,为了不重复引用所以将.net的一个dll注册到GAC中去. gacutil.exe. 记得使用管理员权限打开 开始菜单-Microsoft Visual Stud ...
- 如何将Vue项目部署到Nginx 服务器中
https://blog.csdn.net/qq_35366269/article/details/91385689
随机推荐
- PHP message: PHP Fatal error: require(): Failed opening required
PHP message: PHP Warning: require(/data/wwwroot/blog.sgfoot.com/bootstrap/autoload.php): failed to o ...
- java visual VM使用简介
转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/44999175 作者:小马 VisualVM 是一款免费的性能分析工具.它通过 jv ...
- D-Link service.cgi远程命令执行漏洞复现
1.1 概述 友讯集团(D-Link),成立于1986年,1994年10月于台湾证券交易所挂牌上市,为台湾第一家上市的网络公司,以自创D-Link品牌行销全球,产品遍及100多个国家. 1月17日,C ...
- 鸟哥的linux私房菜服务器架设篇之准备工作和网络基础
架设服务器的基本功课 1基础网络的基本概念,以方便进行联网和设定及除错 2熟悉操作系统的简易操作:包括登录分析,账号管理,文本编辑器的使用等等的技巧 3信息安全方面:包括防火墙与软件更新方面的相关知识 ...
- ClassPathXmlApplicationContext和FileSystemXmlApplicationContext区别
ClassPathXmlApplicationContext 默认文件路径是src下那一级classpath:和classpath*:的区别: classpath: 只能加载一个配置文件,如果配置了多 ...
- jquery 限制文本框只能输入数字
$("input[name='fangwenyudinhuishu']").keyup(function(){ var tmptxt=$(this).val(); $(this). ...
- MySQL经常使用命令--create命令使用
切换数据库的字符集 在mysql中的配置文件里: 使用vim /etc/mysql/my.cnf [client] default-character-set = utf8 [mysqld] char ...
- React Native 三:样式
一.声明和使用样式 1.React Native里面的样式和使用如以下所看到的.StyleSheet.create这个构造函数不是必须的. index.android.js文件 import Reac ...
- Python 第三方 http 库-Requests 学习
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...
- C#托付之愚见
C#托付起源 近期參加实习和奔走于各大招聘会,被问及非常多技术方面的问题.C#问的较多的就是托付和linq. linq之前已经写过一篇文章,能够參见 http://blog.csdn.net/yzys ...