Я хочу обробляти всі [GET] запити до / api з кешу та обробляти всі інші запити, як у останньому блоці розташування (без кешу). Усі запити на / api методами PUT, POST, DELETE також не повинні використовувати кеш.
Я побачив подібне запитання тут проксі-сервера Nginx методом Request , але досі не можу зрозуміти, як його використовувати в моєму випадку.
Заздалегідь спасибі.
Мій конфігурація:
location / {
root /var/www/project/web;
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/api {
root /var/www/project/web/app.php;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/?.*)$;
include fastcgi_params;
fastcgi_cache fcgi;
fastcgi_cache_valid 200 5m;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
location ~ ^/(app|app_dev|config)\.php(/|$) {
root /var/www/project/web;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/?.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
На який кеш ви посилаєтесь, fastcgi_cache? Якщо в методах GET використовується лише кеш, як кеш оновлюватиметься?
—
Марк Стосберг
Марк Стосберг, так, fastcgi_cache. якщо я зрозумів, після TTL він повинен бути визнаний недійсним. "fastcgi_cache_valid 200 5м" - це означає TTL = 5 хвилин?
—
ЗІ