Обработка 502 ошибки в именованном локейшене

2013-04-17 Пенетрантность Alex Belyansky

Добрый день!

Имею вот такое в конфигурации:

error_page 500 501 502 503 504 /500.html;


location / {
try_files   $uri$uri/   @upstream;
error_page  404 = @upstream;
error_page  403 = @upstream;
}

location @upstream {
proxy_pass  http://backend;
}


Когда нет связи с бекендом и при этом запрашивается несуществующая 
страница (404), то nginx нормально отображает мою 500.html
А вот когда запрашивается страница с ошибкой по правам доступа (403), то 
nginx отображает свою дефолтовую страницу, вместо моей 500.html


Что делаю не так? Где что прописать, чтобы нормально отображалась моя 
500.html для ситуации с 403-ей ?


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx кеширование

2013-04-17 Пенетрантность Валентин Росавицкий

Здравствуйте.
Имеется следующая конфигурация : nginx + php-fpm + drupal.
Сайт с включенным модулем boost (кеширование для анонимов). После сброса 
кеша появляется 502 ошибка,
в этот момент модуль активно пишет в базу, грузит диск вплотную. Сам 
сервер по конфигурации неплох,
зеркало на сас дисках, 32Г памяти, 2 х E5645 (для одного сайта с 100-200 
онлайна) но в этот момент просто
вешает диски, думаю это не исправить (да и не мне это делать). 
Интересует возможность отдавать с кеша (не boost) страницу.
Раньше сайт вертелся на nginx+apache и это решалось через 
proxy_cache_use_stale для fastcgi так не пройдет.

Таймауты для nginx и php стоят большие. Немного конфигов:

# serve imagecache files directly or redirect to drupal if they 
do not exist

location ^~ /sites/default/files/imagecache/ {
access_log off;
expires 30d;
try_files $uri @rewrite;
}

location ~ \.php$ {
try_files $uri @cache;
fastcgi_pass   php5-fpm; .}


location / {
try_files $uri @cache;
}

location @cache {
if ($query_string ~ .+) {
return 405;
}
if ($cookie_DRUPAL_UID) {
return 405;
}
if ($request_method !~ ^(GET|HEAD)$) {
return 405;
}
error_page 405 = @rewrite;

add_header Expires Sun, 19 Nov 1978 05:00:00 GMT;
add_header Cache-Control no-store, no-cache, must-revalidate, 
post-check=0, pre-check=0;


try_files /cache/normal/$host/${uri}_.html 
/cache/perm/$host/${uri}_.css /cache/perm/$host/${uri}_.js

/cache/$host/0$uri.html /cache/$host/0${uri}/index.html @rewrite;
}


location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1 last;
}

error_page 502 =301 @cache;

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx кеширование

2013-04-17 Пенетрантность Maxim Dounin
Hello!

On Wed, Apr 17, 2013 at 09:48:01PM +0300, Валентин Росавицкий wrote:

 Здравствуйте.
 Имеется следующая конфигурация : nginx + php-fpm + drupal.
 Сайт с включенным модулем boost (кеширование для анонимов). После
 сброса кеша появляется 502 ошибка,
 в этот момент модуль активно пишет в базу, грузит диск вплотную. Сам
 сервер по конфигурации неплох,
 зеркало на сас дисках, 32Г памяти, 2 х E5645 (для одного сайта с
 100-200 онлайна) но в этот момент просто
 вешает диски, думаю это не исправить (да и не мне это делать).
 Интересует возможность отдавать с кеша (не boost) страницу.
 Раньше сайт вертелся на nginx+apache и это решалось через
 proxy_cache_use_stale для fastcgi так не пройдет.

А в чём проблема, кроме необходимости слегка изменить название 
директивы?

http://nginx.org/r/fastcgi_cache_use_stale

-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru