Назад | Перейти на главную страницу

Настройка Nginx для обработки запросов от Redis

Я пытаюсь настроить запрос обработки непосредственно из nginx с использованием кеша Redis, кеш уже добавлен в Redis, проблема в том, чтобы настроить nginx для получения кеша из Redis

URL похож на http://example.com/action.js?param1=10&param2=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;
}