Реврайты nginx для kohana

Осваиваю новый фреймворк. Поскольку поддержки .htaccess в nginx нет, нужно добавить следующие строчки в конфиг, дабы фреймворк заработал правильно:

if ($request_filename ~ ^(application|modules|system)) {
    return 403;
    }

if (!-e $request_filename) {
    rewrite ^/(.+)$ /index.php?kohana_uri=$1 last;
    }

Избавляемся от www в nginx

Простой и изящный способ избавиться от www в запросах на всех виртуальных серверах, обслуживаемых nginx.
Не сработает для доменов, для которых server_name задан в виде .domain.ru (с точкой) и www.domain.ru.

server {
listen 1.2.3.4:80;
server_name ~^www\.(?<name>.*);
rewrite ^ http://$name$request_uri? permanent;
}

nginx vs DDoS: accept-фильтры во FreeBSD

Вот что пишет о механизме accept-фильтров автор web-сервера nginx Игорь Сысоев:

Два года назад во FreeBSD появились accept-фильтры. Они позволяют не передавать в accept() пришедшее соединение до тех пор, пока не придёт первый пакет с данными (фильтр dataready) или заголовок HTTP-запроса (фильтр httpready). Использование фильтров в Apache (а в нём они поддерживаются, начиная с версии 1.3.14) позволяет уменьшить число процессов. В серверах, использующих select(), poll() или kqueue(), например, в thttpd-2.22, фильтры уменьшают число открытых файлов. И наконец, в обоих случаях accept-фильтры уменьшают число переключений контекста процесса.

Таким образом, использование данного инструментария позволить перенести обработку части запросов в ядро и снизить общую загрузку сервера. Читать далее nginx vs DDoS: accept-фильтры во FreeBSD

nginx vs DDoS: выносим мусор

Одна из самых простых разновидностей ботнета — сеть, участники которой подключаются к серверу на 80 порт и тупо запрашивают /. Либо вообще ничего не запрашивают и висят, пока сервер не скинет их по client_header_timeout (по умолчанию 60 секунд).
В логах это выглядит следующим образом:

85.192.188.150 - - [01/Dec/2009:09:21:01 +0300] "-" 400 0 "-" "-"
85.192.188.150 - - [01/Dec/2009:09:21:01 +0300] "-" 400 0 "-" "-"
85.192.188.150 - - [01/Dec/2009:09:21:01 +0300] "-" 400 0 "-" "-"
85.192.188.150 - - [01/Dec/2009:09:21:01 +0300] "-" 400 0 "-" "-"
85.192.188.150 - - [01/Dec/2009:09:21:01 +0300] "-" 400 0 "-" "-"

Читать далее nginx vs DDoS: выносим мусор