Не срабатывает пересылка на error_page
Евгений В Прудников
jack060382 на mail.ru
Вт Янв 11 21:32:48 MSK 2011
Добрый день, nginx-ru.
Я хочу настроить отдачу закешированного контента из memcached напрямую
nginx-ом юзеру.
Имеется вот такой конфиг:
server {
listen 80;
server_name dev.mysite.eu dev.mysite.de;
root /opt/www/stable_d1/www;
charset utf-8;
#auth_basic "closed site";
#auth_basic_user_file /usr/local/nginx/conf/htpasswd;
location ~ /.svn/ {
deny all;
}
location /combat/user.json {
default_type application/json;
set $memcached_key "$args";
limit_conn one 15000;
memcached_pass localhost:11211;
error_page 404 502 504 = @fallback;
}
location @fallback {
internal;
access_log /usr/local/nginx/logs/access_log main;
proxy_pass http://127.0.0.1:80$args;
}
...
location ~* ^.+\.(jpg|jpeg|gif|png|ico|txt|flv|swf|css|js)$ {
expires 3d;
rewrite ^/(.*\.)v[0-9.]+\.(css|js|gif|png|jpg|swf)$ /$1$2;
root /opt/www/stable_d1/www;
}
location / {
index index.php;
rewrite ^/(.*\.)v[0-9.]+\.(css|js|gif|png|jpg|swf)$ /$1$2;
rewrite ^/(user|chat|location|combat|banking|clans|library|bank)/(.*)$ /index.php?entity=$1&uri=$2;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/www/stable_d1/www$fastcgi_script_name;
include fastcgi_params;
.....
Собственно проблема в том, что при самых разных вариантах настройки
данной связки (котоых было найдено гуглом) всегда была одна и та же
проблема.
Если в мемкеше уже лежит потребная информацию (запросил фронт в обход
этого правила location /combat/user.json ), то это самое правило
прекрасно отдаёт информацию по ключу.
Если значения в кэше нет, то клиент получает 404, но до @fallback
запрос не идёт как по идее должен.
Помогите понять, что именно делается неправильно.
--
С уважением,
Евгений Прудников mailto:jack060382 на mail.ru
Подробная информация о списке рассылки nginx-ru