ПРОЕКТЫ 


  АРХИВ 


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]

Re: Нужен совет по ред иректу POST-в



On Tue, Dec 04, 2007 at 10:33:56AM +0300, Ivanov Dmitri wrote:

> Добрый день, Игорь
> 
> > > Отрабатывает эти запросы хэндлер 404 ошибки, тратя попусту 
> > кучу процессорного времени на прием данных поста и отработку 404.пхп.
> > > Фронтендом для этого сайта работает nginx. Возможно ли мне 
> > задать какое-то правило для location /blog/trackback\.php/ 
> > {}, которое будет отдавать клиенту статическую хтмл страницу 
> > через nginx?
> > 
> >    location /blog/trackback\.php/ {
> >        return  404;
> > 
> >        error_page  403  @dummy;
> >    }
> > 
> 
> Нет, не получается :( Что должен делать nginx, получая директиву return  404 ?
> Такое ощущение, что он не отдает страницу, определенную в error_page 404 
> /404.html... Возможно, из-за использования метода POST? 
> Nginx всё же пробрасывает этот запрос на бэкенд:
> Вот лог nginx
> 
> [04/Dec/2007:10:13:17 +0300] pc-gamer.ru 62.213.113.158 - "POST 
> /blog/trackback.php/dspair/56 HTTP/1.1" 404 484 "-" "WordPress/2.0"
> [04/Dec/2007:10:13:17 +0300] pc-gamer.ru 212.158.169.79 - "POST 
> /blog/trackback.php/frag/24 HTTP/1.1" 404 482 "-" "WordPress/1.9"
> [04/Dec/2007:10:13:17 +0300] pc-gamer.ru 212.24.32.235 - "POST 
> /blog/trackback.php/tretyakov/50 HTTP/1.1" 404 487 "-" "WordPress/2.0"
> [04/Dec/2007:10:13:18 +0300] pc-gamer.ru 62.213.114.196 - "POST 
> /blog/trackback.php/hornet/66 HTTP/1.1" 404 484 "-" "WordPress/2.1.2"
> [04/Dec/2007:10:13:18 +0300] pc-gamer.ru 62.213.114.196 - "POST 
> /blog/trackback.php/hornet/66 HTTP/1.1" 404 484 "-" "WordPress/2.1.2"
> [04/Dec/2007:10:13:18 +0300] pc-gamer.ru 62.213.113.157 - "POST 
> /blog/trackback.php/frag/10 HTTP/1.1" 404 482 "-" "WordPress/2.0"
> [04/Dec/2007:10:13:18 +0300] pc-gamer.ru 62.213.68.100 - "POST 
> /blog/trackback.php/tretyakov/57 HTTP/1.1" 404 487 "-" "WordPress 1.9"
> [04/Dec/2007:10:13:18 +0300] pc-gamer.ru 62.213.68.100 - "POST 
> /blog/trackback.php/tretyakov/57 HTTP/1.1" 404 487 "-" "WordPress 1.9"
> [04/Dec/2007:10:13:18 +0300] pc-gamer.ru 62.213.113.158 - "POST 
> /blog/trackback.php/dspair/56 HTTP/1.1" 404 484 "-" "WordPress/2.0"
> [04/Dec/2007:10:13:18 +0300] pc-gamer.ru 212.24.61.114 - "POST 
> /blog/trackback.php/frag/36 HTTP/1.1" 404 482 "-" "WordPress/2.1.2"
> 
> А вот лог апача(не одновременный, но это неважно), мы отдаем сейчас 
> статическую 404.хтмл, но это не полностью спасает от атаки - запросы идут с 
> ~2500 хостов, все из IP диапазонов caravan.ru, 10 подсеток класса С, похоже, 
> затроянили несколько интернет кафе или еще чего-то.
> 
> 127.0.0.2 - - [04/Dec/2007:10:16:42 +0300] "POST 
> /blog/trackback.php/hornet/27 HTTP/1.0" 404 290 "-" "WordPress/2.0"
> 127.0.0.2 - - [04/Dec/2007:10:16:42 +0300] "POST /blog/trackback.php/frag/24 
> HTTP/1.0" 404 288 "-" "WordPress/1.9"
> 127.0.0.2 - - [04/Dec/2007:10:16:43 +0300] "POST 
> /blog/trackback.php/hornet/27 HTTP/1.0" 404 290 "-" "WordPress/2.0"
> 127.0.0.2 - - [04/Dec/2007:10:16:44 +0300] "POST /blog/trackback.php/frag/10 
> HTTP/1.0" 404 288 "-" "WordPress 1.9"
> 127.0.0.2 - - [04/Dec/2007:10:16:44 +0300] "POST 
> /blog/trackback.php/tretyakov/57 HTTP/1.0" 404 293 "-" "WordPress/2.1.2"
> 127.0.0.2 - - [04/Dec/2007:10:16:44 +0300] "POST 
> /blog/trackback.php/dspair/56 HTTP/1.0" 404 290 "-" "WordPress 1.9"
> 
> > error_page в данному случае нужна, чтобы убрать возможное наследование
> > с уровня http или сервера
> > 
> >       error_page  404  ...
> > 
> 
> Сейчас у нас определена страничка на уровне контейнера server {}
> error_page 404 /404.html;
> location /404.html { root /home/goldmaker/www/bitrix/; }
> 
> Наверное, переопределять ее не стОит?

Тогда просто

    location /blog/trackback\.php/ {
        return  404;
    }


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.