[an error occurred while processing this directive]

Организация кэширования только медленных ответов сервера при помощи Nginx
Пример организации на стороне фронтэнда кэширования контента, который начинает
отдаётся бэкендом дольше, чем через 3 секунды. Запросы, которые отдаются менее,
чем за 3 секунды передаются клиенту минуя кэш. Время жизни записи в кэше
составляет 60 секунд. Для расчёта времени отдачи используются два блока vhost
с передачей переменной со временем задержки в заголовке X-Accel-Expires,
созданной при помощи директивы "map".

   proxy_cache_path /home/tmpcache/mycache levels=1:2 keys_zone=example:10m;

   # Для запросов дольше 3 секунд устанавливаем время жизни записи в кэше в 60 секунд, иначе 0 (отдаём минуя кэш).
   map $request_time $longtime {
       "~^([3-9]|[1-9][0-9]+)\\." 60;
       default 0;    
   }

   server {
       listen 127.0.0.1:8888;
       root /var/www/;
       server_name example.com; 
       location / { 
           proxy_redirect          off;
           proxy_set_header        Host $host;
           proxy_pass              http://mybackend;
           add_header X-Accel-Expires $longtime;
       }
   }

   server {
       listen 8080;
       root /var/www/;
       server_name example.com; 
       location / { 
           proxy_redirect          off;
           proxy_set_header        Host $host;
           proxy_pass              http://127.0.0.1:8888;
           proxy_cache             example;
           proxy_cache_valid       200 0m;
           add_header X-Cached $upstream_cache_status;
           add_header X-Time $request_time;
        }
   }


Проверка:

   # curl -I "http://example.com:8080/mylongrequest" 

   ...
   X-Cached: MISS
   X-Time: 11.862

повторный запрос будет выдан из кэша:

   # curl -I "http://example.com:8080/mylongrequest" 
   ...
   X-Cached: HIT
   X-Time: 0.000
 
01.10.2014 , Источник: http://blog.alteroot.org/articles/2...
Ключи: nginx, cache / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / WWW, Apache httpd / Редирект, mod_rewrite

[an error occurred while processing this directive]

[an error occurred while processing this directive]