Я пытаюсь настроить запрос обработки непосредственно из nginx с использованием кеша Redis, кеш уже добавлен в Redis, проблема в том, чтобы настроить nginx для получения кеша из Redis
URL похож на http://example.com/action.js?param1=10¶m2=text
Ключ Redis зависит от param1
в следующем примере он использует полный путь как ключ для redis
поэтому я хочу захватить param1, чтобы получить ключ, который похож на "cahced_page _" + param1
server {
listen 80;
server_name your.website.com;
root /home/appuser/app/current/public;
error_log /dev/null crit; #real man don't log
location / {
set $redis_db "1";
set $redis_key $uri;
default_type text/html;
redis_pass redis;
error_page 404 405 502 504 = @fallback;
}
location @fallback {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://yourunicornupstream;
break;
}
}
}
из http://wiki.nginx.org/HttpEchoModule#Variables
location = /code.js {
set $redis_db "1";
set $redis_key "hashed_key_$arg_param1";
default_type text/javascript;
redis_pass redis;
error_page 404 405 502 504 = @fallback;
}