zoukankan      html  css  js  c++  java
  • 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;
    #        }
  • 相关阅读:
    2015年9月29日html基础加强学习笔记
    2015年9月30日html表单笔记
    2015年10月1日登陆界面表单练习
    linux 常用命令
    OSI七层模型与TCP/IP层次模型
    谈谈字符串那点事
    vim 常用命令
    VB Pcode 动态调试要点
    数据类型方法
    join()和fromkeys()的用法与注意事项
  • 原文地址:https://www.cnblogs.com/sanwenyu/p/4599251.html
Copyright © 2011-2022 走看看