nginx缓存总是返回X-Proxy-Cache:MISS

时间:2016-04-01 06:39:59

标签: caching nginx

我将nginx配置如下:

proxy_cache_path /v01/nginx levels=1:2 keys_zone=my_zone:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;
    charset utf-8;

    server_name localhost;

    location / {
        client_max_body_size 2M;
        proxy_cache my_zone;
        proxy_cache_bypass  $http_cache_control;
        add_header X-Proxy-Cache $upstream_cache_status;
        include proxy_params;
        proxy_pass http://localhost:3000;
    }
}

我在一台安装了nginx/1.4.6 (Ubuntu)的机器中配置了这个,我测试了:

 curl -X GET -I 192.168.1.193/css/style.css

它有效,头部为X-Proxy-Cache: HIT

但我在安装nginx/1.6.2 (Ubuntu)curl -X GET -I 192.168.1.97/css/style.css的另一台计算机上配置了这个,总是返回X-Proxy-Cache: MISS

我检查了路径/v01/nginx,它没有任何内容。

1 个答案:

答案 0 :(得分:0)

我找到了问题所在:

我没有在另一台机器的项目中设置node.js缓存,我改变了

 app.use express.static config.root + '/public'

 app.use express.static config.root + '/public', {maxAge: 1000 * 3600 * 24 * 7}