2 votes

Configuration de Nginx pour traiter les demandes de Redis

J'essaie de configurer le traitement des requêtes directement à partir de nginx en utilisant le cache de redis. Le cache est déjà ajouté à redis, mais le problème est de configurer nginx pour qu'il récupère le cache de redis.

L'URL est comme http://example.com/action.js?param1=10&param2=text

La clé Redis dépend du paramètre 1

dans l'exemple suivant il utilise le chemin complet comme clé pour redis

je veux donc capturer le paramètre 1 pour obtenir la clé qui est comme "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;
      }
  }

}

1 votes

Avez-vous vérifié wiki.nginx.org/HttpCoreModule#Variables ? -> En particulier la partie concernant $arg_PARAMETER ?

1voto

user200786 Points 1

De 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;
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X