ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nginx 7.6.1 && memcached && escape characters


  • To: nginx-ru@xxxxxxxxx
  • Subject: nginx 7.6.1 && memcached && escape characters
  • From: wDevil wDevil <wwdevil@xxxxxxxxx>
  • Date: Fri, 31 Jul 2009 12:31:37 +0700
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=7ewGveiaOgDeIY+Zn9oAXO/EetiF/s7JYVH6/ruWBHA=; b=mFX0TOKb0NGhpMpYT4THeSFp449ttOqBVd8NhNsgWfkj2wWwFPEXNxoQlI8bgL36us UaNDbxHUXKvz341Hvz/hamEbyKJcynSW8XRKwIEp9iR7J05rukD5nfHT1iSGl8MMweEc rfwTFJmiqsCUcK1evKTBw9XPwKwyX7zsuNaQE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=wP3jkZpsARRzea+4DfzhJF9U+vZSPAY/5YgX1a5Js9wAxmgralhPlmdpnfkl+TNtY0 WrB99P0FmdFcEvOAvTXhE43MjpHFQejUnTnwbNUPQHFOHQYgFOQFJR2+3fIqj4odiuw7 dFvis7i3NKzCnKnUIRpEgwnbjCjxnueX+36mo=

Начинай с версии 0.6.5 nginx экранирует пробел в переменной $memcached_key. Вопрос состоит в следующем: как мне экранировать ключ  в скриптах и складывать по нему данные в мемкеш, чтобы nginx нормлаьно забирал? Экранирование заключается в подстановке обратного слеша или замене на +?
Например:
запрос на сервер:
http://server.nix:81/query/my god
соответственно ключ: /query/my god
в скриптах пытаюсь экранировать ключ и сложить по нему даныне в мемкеш так:
"/query/my\ god"
или так
"/query/my+god"
на что nginx выдает 404.

Для отладки сделал так: создал формат лога:

log_format my  '[$uri] -- $memcached_key';
access_log /var/log/nginx/map_nix.memcached.log my;

В результате запроса в лога вот что:
[/drawer/cache/grid/2/2/3/query/criteria/name/query/my god] -- /drawer/cache/grid/2/2/3/query/criteria/name/query/my god

так он экранирует или нет?
Info:
# nginx -v
nginx version: nginx/0.7.61

# uname -a
FreeBSD poligon.2gis.local 7.2-RELEASE FreeBSD 7.2-RELEASE #5: Fri May 29 10:26:39 NOVST 2009




 




Copyright © Lexa Software, 1996-2009.