FreeBSD - Apache - http accept filter

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Перейти к:навигация, поиск
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Самые выгодные сервера‎ в рунете


FreeBSD - Apache - как включить и для чего http accept filter

http accept filter - фильтр приема

- для длинных запросов
- буферизирует http трафиик в ядре


Во FreeBSD имеется технология, позволяющая передавать пакет от ядра к процессу только в случае прихода 1) каких либо данных 2) валидного http запроса. Технология эта называется accept filters. Такие фильтры помогут как разгрузить сервер в случае большого кол-ва соединений, так и немного защитить от DDoS'a (Хотя со вторым лучше справляется ngx_http_limit_req_module)
Чтобы включить обработку соединений с использованием фильтров, нужно для начала загрузить модуль ядра:

# ls /boot/kernel/|grep acc
accf_data.ko
accf_http.ko
# kldload accf_http

Далее в конфиге nginx.conf включить фильтр httpready:

listen 80 default accept_filter=httpready;



Включение

В ядро добавляем:

options ACCEPT_FILTER_HTTP # для http
options ACCEPT_FILTER_DATA # для https
options INET # должно быть по дефолту

либо ручками

% kldload accf_data
% kldload accf_http

либо добавить строчку

apache22_http_accept_enable="YES"

в файле rc.conf

либо в писать в /boot/loader.conf:

%grep accf /boot/defaults/loader.conf
accf_data_load="NO"             # Wait for data accept filter
accf_http_load="NO"             # Wait for full HTTP request accept filter



Links