ПРОЕКТЫ 


  АРХИВ 


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: Изменить код ошибки на deny all



On Tue, Jul 10, 2012 at 03:20:08PM +0600, Nick Knutov wrote:
> На уровене http есть блок allow ip/mask, после чего deny all;
> Это временное решение под ддосом, но при этом хочется, чтобы по факту 
> deny all отдавался не error 403, а 503, чтобы страницы не выпали из 
> яндекса. Как это можно сделать?
> 
> Очевидное
> error_page   403 =503  /error403.html; # на уровне http
> почему-то не помогает:

Видимо для /error403.html действует то же самое deny all, в результате
статус ответа не может быть изменён на 503.  Нужно для /error403.html
либо разрешить доступ, либо воспользоваться вариантом error_page c `='
(см. ниже).

> wget  -S -O - http://***.***/
> --15:12:27--  http://***.***/
>             => `-'
> Resolving ***.***... 88.198.19.82
> Connecting to ***.***|88.198.19.82|:80... connected.
> HTTP request sent, awaiting response...
>    HTTP/1.1 403 Forbidden
>    Server: nginx/1.2.0
>    Date: Tue, 10 Jul 2012 09:12:27 GMT
>    Content-Type: text/html
>    Content-Length: 168
>    Connection: keep-alive
>    Keep-Alive: timeout=20
> 15:12:27 ERROR 403: Forbidden.
> 
> Заодним, кстати, хорошо было бы и Keep-Alive отключить для 503 и вообще 
> сразу закрывать соединение, но смотрю в документацию и не вижу как.

keepalive отключается теми же директивами, что и включается:
http://nginx.org/r/keepalive_disable/ru
http://nginx.org/r/keepalive_requests/ru
http://nginx.org/r/keepalive_timeout/ru

http {
    server {
        keepalive_timeout 75 75;

        allow 127.0.0.1;
        deny all;
        error_page 403 = @403;

        location @403 {
            keepalive_timeout 0;
            return 503;
        }
    }
}

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


 




Copyright © Lexa Software, 1996-2009.