Re: Проблема с error page
Today Jun 8, 2013 at 02:30 SenatoR wrote: Столкнулся с непонятной мне проблемой. nginx 1.4.1. Имеется связка nginx + php-fpm. Возникла необходимость в одном домене заблокировать несколько ip адресов для режима post. Написал вот такой листинг: location ~ \.php$ { if ($request_method = POST) { return 412; } error_page 412 = @check; } location @check { deny ip1; deny ip2; error_page 403 http://sitename.ru/error_blocked.html; } Однако, все равно мне выводится стандартное уведомление об ошибке. Я пробовал вместо адреса с http указывать новый location: error_page 403 @why; Не работает! Пробовал указывать новый путь: error_page 403 /error_403.html; не работает В связи с этим вопросы: 1) Перенаправление на проверку явно сделано не самым удобным образом (через пененаправление error_page 412), может кто-то подскажет способ лучше? http://nginx.org/r/limit_except/ru Вначале deny тем некоторым IP, а после allow all. И error_page 403 /error_403.html в этом location. 2) Что я делаю не так с error_page? Мне нужно, чтобы он открыл заготовленный файл с расшифровкой почему нельзя и все. Несколько перенаправлений через error_page по умолчанию запрещены: http://nginx.org/r/recursive_error_pages/ru -- WNGS-RIPE ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с error page
Hello! On Sat, Jun 08, 2013 at 02:30:04AM -0400, SenatoR wrote: [...] В связи с этим вопросы: 1) Перенаправление на проверку явно сделано не самым удобным образом (через пененаправление error_page 412), может кто-то подскажет способ лучше? Уже подсказали. 2) Что я делаю не так с error_page? Мне нужно, чтобы он открыл заготовленный файл с расшифровкой почему нельзя и все. Повторная обработка ошибок с помощью директивы error_page - по умолчанию запрещена, чтобы не создавать циклов. Разрешить можно с помощью директивы recursive_error_pages, http://nginx.org/r/recursive_error_pages/ru. -- Maxim Dounin http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с error page
Большое Вам спасибо за ответ! limit excep - это то, что нужно! Однако, я столкнулся с непонятным мне эффектом. Я поместил это дело в location для php: location ~ \.php$ { limit POST { deny ip1; allow all; } . } Работает как надо. Но если я создам файл, просто список запрещенных ip может обновляться, и помещу в него ровно эти строки, чтобы стало вот так: location ~ \.php$ { include blacklist.conf; .. } то он блокирует GET запросы (на запретных IP) и разрешает POST. Если поместить в файл: limit_except GET { deny ip1; allow all; } то запрещает POST, а GET разрешает. Это что-то вообще мне непонятное. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239962,239966#msg-239966 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru