nginx кэширование локальных статических ресурсов на стороне сервера - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь кешировать локальные статические ресурсы, используя NGINX.Однако активы не кэшируются NGINX.Активы обслуживаются правильно, но не записываются в каталог кэша.Более того, заголовки, связанные с кэшем на стороне сервера, не устанавливаются.

Ниже представлена ​​моя конфигурация NGINX:

proxy_cache_path /mnt/ramdisk levels=1:2 keys_zone=my_cache:10m;

server {
        listen 80;
        server_name _;
        return 301 https://$host$request_uri;
}

server {
        listen 443 ssl http2;

        ssl_certificate <snip>;
        ssl_certificate_key <snip>;

        location /public/ {
                autoindex on;
                root <snip>;

                # browser cache
                expires 2d;
                add_header Cache-Control "public";

                # server-side caching
                add_header X-Proxy-Cache $upstream_cache_status;
                proxy_ignore_headers "Set-Cookie";
                proxy_cache my_cache;
                proxy_cache_min_uses 1;
                proxy_cache_valid 200 60m;
        }
}

При запросе ресурсов по этому пути я вижу эти заголовки:

$ curl -I https://<my-domain>/public/img/lightbulb-lg.optimized.jpeg

HTTP/2 200
server: nginx/1.10.3
date: Tue, 02 Oct 2018 19:42:09 GMT
content-type: image/jpeg
content-length: 254851
last-modified: Fri, 28 Sep 2018 17:36:17 GMT
etag: "5bae6691-3e383"
expires: Thu, 04 Oct 2018 19:42:09 GMT
cache-control: max-age=172800
cache-control: public
accept-ranges: bytes

Это правильно соответствует директивам expires и add_header, но обратите внимание на отсутствие заголовка X-Proxy-Cache.

Кроме того, каталог /mnt/ramdisk пуст.Его разрешения установлены на drwxrwxrwt 2 www-data root 40 Oct 2 19:36 ramdisk, и я подтвердил, что могу писать в этот каталог.

Что происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...