|
|
|
mod_perl - The Apache/Perl Integration Project |
(Версия: 1.27 от 2002-06-07) [+] [обсудить] |
| Модуль интегрирующий perl интерпретатор в Apache httpd, что
позволяет писать высокопроизодительные CGI скрипты на языке перл
(выйгрыш за счет отсутствия лишнего времени на продгрузку интрепретатора perl, экономии памяти, буферизации I/O и гибкой системы подгрузки скриптов и библиотек - скрипт не выгружается из памяти после завершения сессии).
Следует отметить, что можно использовать mod_perl для полного доступа к ресурсам Apache и написания модулей.
В отличие от FastCGI, подходит для использования при большом числе скриптов, независимо от затрат на процессорное время. Когда нужно написать нечто большее, чем простой CGI скрипт, с возможностью доступа к структурам apache. Но mod_perl склонен к большому потреблению памяти. |
|
|
|
|
FastCGI - language independent, scalable, open extension to CGI that provides high performance |
(Версия: 2.1 от 2012-08-26) [+] [есть мнение] |
| Программный интерфейс (C, Perl, Java, TCL, Python) позволяющий увеличить в несколько раз производительность CGI скриптов, путем единичной загрузки скрипта в память, буферизации ввода/вывода и
циклической обработки запросов с помощью FastCGI API (т.е. скрипт становится демоном в цикле принимающим запросы, если цикл не завершился, но поступил новый запрос - запускается вторая копия). Требуется небольшая переделка скрипта, пример fastcgi приложения:
while(FCGI_Accept() >= 0) { printf("Content-type: text/html
"); printf("Hello world!"); }
Выгодно использовать при небольшом числе часто вызываемых скриптов, отрабатывающих запрос за короткое время. Скрипты не обязательно должны быть на той же машине. Если выполнение скрипта занимает много процессорного времени или используется большое число разных скриптов лучше использовать mod_perl. С точки зрения затрат памяти, FastCGI более экономичен, чем mod_perl. Информация между fastcgi скриптом и httpd процессом буферизируется, т.е. скрипт начинает выполнять другой запрос не дожидаясь того как apache закончит обслуживание текущего.
mod_fcgid - бинарно совместимая альтернатива mod_fastcgi, имеющая иную стратегию управления процессами, направленную на уменьшение числа работающих fastcgi скриптов и уменьшение времени восстановление рухнувшего процесса. |
|
|
|
|
|
|
dkLab Apache - виртуальные хосты с привилегиями различных пользователей |
[+] [есть мнение] |
| dkLab Apache - это дистрибутив для тех, кто собирается использовать Apache в Unix для обслуживания нескольких полностью независимых друг от друга сайтов, работающих под разными, полностью разграниченными друг от друга пользователями Unix. По сути это Apache 1.3.34, на который наложены некоторые "самодельные" патчи. Вот функциональность, которую они добавляют:
Запуск различных виртуальных хостов под различными Unix-пользователями. То, под каким пользователем работает виртуальный хост, задается в его стандартных директивах User и Group. Все скрипты, включая скрипты для mod_php, CGI и т. д., работают с правами указанного пользователя и группы и не могут получить доступ к файлам другого виртуального хоста. Долой safe_mode и проблемы с правами доступа в PHP!
Возможность создавать виртуальные хосты по шаблону: ABC.example.com -> /home/example/ABC. Вы можете ссылаться в директиве DocumentRoot на нужную часть доменного имени, например, так: /home/example/$-3+ (в данном примере это будет /home/example/ABC). Просто создайте директорию, чтобы добавить на сайт новый поддомен!
Модуль mod_rewrite защищен от любого рода "зацикливаний". Неосторожно или злонамеренно написанные директивы в .htaccess не могут "подвесить" весь сервер.
|
|
|
|
|
|
|
mod_accel - использование Apache в режиме акселератора |
[+] [обсудить] |
| Модуль позволяет значительно разгрузить основной apache сервер, благодаря кешированию запросов (в том числе динамики) и "буферизации медленных клиентов". Обеспечивает функциональность ProxyPass модуля mod_proxy, причем многие недостатки mod_proxy устранены.
Следует подчеркнуть 3 основные причины использования mod_accel (со слов автора):
тяжелый бэкенд, например, mod_perl и много соединений;
контент долго генериться, но может кэшироваться;
наличие большого процента "медленных клиентов";
|
|
|
|
|
mod_geo - модуль для определения географии посетителей сайта |
[+] [есть мнение] |
| Модуль предназначен для определения географии пользователя WWW-сервера и передачи географии вызываемым скриптам/динамическим страницам в виде
дополнительного аргумента запроса. Это может быть полезно, если в
зависимости от региона формируется разное содержимое.
Аналог: GeoIP - программа и API интерфейс для определения географии по IP адресу.
geoip_country - открытая база принадлежности IP блоков к странам.
ipgeobase.ru - web-интерфейс для определения города в Российской Федерации по IP адресу. Доступен архив базы сопоставления блоков адресов.
IP-to-Country - база соответствия блоков адресов и стран. |
|
|
|
|
|
mod_qos - quality of service module for the Apache |
[+] [обсудить] |
| Apache-модуль mod_qos (http://mod-qos.sourceforge.net/) позволяет организовать разделение запросов по приоритетам и обеспечить выполнение только приоритетных запросов при таких нештатных ситуациях, как перегрузка сервера. В качестве реакции при нехватке серверных ресурсов mod_qos может блокировать неприоритетные запросы, динамически изменять значения таймаутов, добавлять искусственную задержку перед выполнением запроса и принудительно завершать TCP-соединения.
Примеры ситуация, когда можно использовать mod_qos:
Управление интенсивностью выполнения длительных по времени и ресурсоемких запросов, предотвращение одновременного выполнения большого числа таких запросов;
Защита от исчерпания пропускной способности канала связи из-за слишком большого числа одновременных обращений к определенным данным (например, когда пользователь сделал доступным для загрузки файл большого размера и широко его разрекламировал)
Защита от простейших DDoS-атак.
Некоторые примеры ограничений, реализуемых через mod_qos ограничений:
Ограничение максимального числа одновременных соединений для заданной части сайта, URL или виртуального хоста.
Ограничение пропускной способности, числа запросов в секунду или объема трафика в секунду для любой части сайта;
Ограничение числа выполнения определенных типов запросов в секунду;
Не применение ограничений для определенных адресов или пользователей;
Фильтрация по совпадению маски в HTTP-заголовке или теле запроса;
Ограничение размера передаваемых в рамках запроса данных;
Ограничение на уровне параметров TCP-соединений, например, ограничение максимального числа запросов с одного IP, динамическое изменение keep-alive и т.п.
Обеспечение доступа с заданных IP в случае исчерпания свободных сокетов.
|
|
|
|
|
|
mod_slotlimit - manage resources used for each running site |
[+] [обсудить] |
| Модуль для организации ограничений для защиты от излишнего потребления ресурсов в системах массового хостинга. Возможно определить процент от общего объема обращений к apache, которое не может превысить один сайт (например, чтобы каждый сайт не мог потребить больше 15% общих ресурсов).
Также позволяет определить максимальное число одновременных коннектов или число одновременных обращений от одного IP для каждого сайта. |
|
|
|
|
|
mod_perlite - lightweight Perl module for Apache 2.x |
(Версия: 0.10 от 2009-10-12) [+] [есть мнение] |
| Модуль mod_perlite доступен для Apache 2.x и представляет собой простейшую реализацию механизма встраивания Perl интерпретатора в apache. mod_perlite позволяет оптимизировать выполнение обычных CGI скриптов, через минимизацию накладных расходов связанных с загрузкой и инициализацией perl интерпретатора. |
|
|
|
|
|
mod_ifier - Apache2 request filtering and rejection |
[+] [обсудить] |
| Модуль для Apache2 предоставляющий средства для фильтрации нежелательных запросов, т.е. проще говоря реализация фаервола на уровне Apache.
Поддерживается фильтрация по полям в HTTP заголовках (например, referer и user_agent), параметрам запроса, черным спискам IP адресов. Имеется возможность вызова внешнего скрипта после очередного блокирования (например, для дальнейшего блокирования IP пакетным фильтром). |
|
|
|
|
mod_rpaf - reverse proxy add forward module |
[+] [есть мнение] |
| Apache модуль для подмены REMOTE_ADDR на бэкенд-сервере на значение переданное с фронтэнда, через заголовок X-Forwarded-For. Позволяет скрыть от скриптов разделение на фрондэнд/бэкэнд и видеть нормальные IP пользователей, вместо IP фронтэнда.
mod_realip - модуль для Apache 1.3 для изменения адреса прокси-сервера на адрес клиента, переданный прокси-сервером в заголовках "X-Real-IP" или "X-Forwarded-For".
mod_proxy_add_forward - apache модуль для добавления X-Forwarded-For на фронтэнде;
|
|
|
|
|
mod_bwshare - bandwidth throttling by HTTP client IP address |
[+] [обсудить] |
| Apache модуль ля ограничения пропускной способности и числа запросов к web-серверу в единицу времени. Ограничения задаются через пять параметров:
BW_tx1cred_rate - устанавливает ограничение для IP на число запросов в секунду (files/second);
BW_tx1debt_max - максимальный лимит для BW_tx1cred_rate (files).
BW_tx2cred_rate - устанавливает ограничение трафика для IP, байт в секунду (bytes/second).
BW_tx2debt_max - максимальный лимит для BW_tx2cred_rate (bytes).
BW_subnet_limit - позволяет задать ограничения, не только для отдельных IP, но и для подсети.
Модуль написан с оглядкой на экономию ресурсов процессора и низкое потребление памяти. Контролировать текущее состояние можно через web-интерфейс. Поддерживается как Apache 1.3, так и Apache 2.x |
|
|
|
|
|
|
|
mod_sync, mod_dynloadbalance, mod_failover |
[+] [обсудить] |
| Набор модулей для создания высоконадежного web-сервера с балансировкой нагрузки посредством DNS.
mod_sync - позволяет синхронизировать содержимое нескольких директорий между web-серверами (непонятно, зачем это нужно было делать в виде apache модуля);
mod_failover - в случае обнаружения сбоя, апдейтит информацию в DNS;
mod_dynloadbalance - балансировщик нагрузки, основанный на изменении данных в DNS. |
|
|
|
|
|
Peruser MPM for Apache 2 |
[+] [есть мнение] |
| Ещё одна попытка реализовать модель безопасности в веб сервере Apache при которой внутри каждого виртуального хоста процессы сервера работают от определенного пользователя/группы. Этот MPM (Multi-Processing Module, мульти-процессный модуль) использует не потоки как в стандартном perchild.c и Metux MPM Project, а процессы. Позволяет задавать свое chroot окружение для каждого виртуального хоста, работающего под отдельным uid/gid.
Отрицательной чертой подобного подхода является слишком больше разрастание числа процессов в системах с большим числом виртуальных хостов (на каждый vhost минимум 1 отдельный процесс), что мешает использовать данный MPM на системах промышленного хостинга.
Metux MPM Project - похожий проект, отличается использованием нитей (тредов).
ITK MPM - похожий модуль, позволяющий поддерживать выполнения httpd процессов для заданного виртуального хоста под отдельным пользователем. В ITK используется техника запуска аналогичная методу prefork, т.е. к минимуму сводятся все проблемы с mod_php. |
|
|
|
|
apache-tools - Apache httpd tools |
[+] [обсудить] |
| Набор вспомогательных утилит, предоставляющих такие функции как мониторинг лог-файлов с построением графиков, блокирование DoS атак на основе данных от mod_status, ведение блэклистов с автоматическим созданием iptables правил и т.д. |
|
|
|
|
|
mod_chroot - running Apache in a secure chroot environment |
(Версия: 0.5 от 2005-06-21) [+] [обсудить] |
| Основное назначения модуля - помещение apache в chroot окружение сразу после выполнения первичных блоков инициализации, т.е. позволяет не копировать в chroot окружения необходимые для работы apache и mod_php библиотеки, не создавать /dev, /etc/passwd и т.д. Достаточно подключить модуль, определить директивой ChrootDir корень и при необходимости создать программное окружение для выполнения CGI-скриптов. |
|
|
|
|
|
SpeedyCGI - Speed up perl scripts by running them persistently. |
[+] [обсудить] |
| Гибкий интерфейс для запуска Perl скриптов в persistent режиме (когда perl-интерпретатор не выгружается из памяти). Применяется от простых схем использования путем замены "#!/usr/bin/perl" на "#!/usr/bin/speedy", до контроля выполнения через CGI::SpeedyCGI и применения apache модуля mod_speedycgi. Возможно установка лимитов на число запущенных процессов, задание таймаута на время выполнения и т.д. |
|
|
|
|
ApacheTop - top-like to display for Apache information |
(Версия: 0.12 от 2004-05-22) [+] [обсудить] |
| Утилита анализирующая лог файлы apache в tail режиме и показывающая realtime статистику в похожем на вывод команды top виде. Возможна сортировка вывода по трафику, числу запросов в секунду, числу байт в секунду, наиболее часто запрашиваемым URL. |
|
|
|
|
|
|
mod_evasive - (mod_dosevasive) HTTP DoS or DDoS attack or brute force attack |
(Версия: 1.9 от 2003-10-31) [+] [есть мнение] |
| Apache модуль для организации защиты web-сервера от DoS атак. Модулем
осуществляется контроль интенсивности запросов с одного IP за период
времени и числа параллельных запросов. После превышения определенного в
конфигурации лимита, осуществляется временная блокировка доступа
злоумышленника, возможен вызов внешнего скрипта для блокирования через
фаерволл. |
|
|
|
|
mod_security - Web Intrusion Detection And Prevention |
(Версия: 1.8.6 от 2004-11-06) [+] [обсудить] |
| Модуль, с помощью которого создать первичный щит по защите пользовательских скриптов на уровне web-сервера.
Возможности: фильтрация по маске в параметрах запроса (например, нормализация путей в запросе: ../, /etc/password), сохранение дополнительной информации в лог файле (содержимое POST запроса, заголовков), обнаружение атак через HTTPS или использования сервера как proxy.
mod_evasive - модуль пытающийся бороться с DoS, DDoS и "brute force" атаками через анализ числа запроса в единицу времени с одного IP или к одной странице. |
|
|
|
|
mod_throttle - Bandwidth and Request Throttling |
[+] [обсудить] |
| Модуль для предотвращения перегрузки сервера от многопотоковых качалок или излишне активных роботов. Ограничиваются одновременно выполняемые запросы, числа запросов в промежуток времени, скорость отдачи контента, размер данных отдаваемых за период времени. |
|
|
|
|
|
mod_filter - filter through URI |
[+] [есть мнение] |
| Модуль перехватывает вывод любого apache обработчика (html, PHP, ModPerl, JServ) и передает его на вход любого указанного в конфигурации CGI-скрипта. Т.е. простой скрипт, может являться фильтром для целой группы документов, например, для принудительной вставки баннера или заголовка и футера. |
|
|
|
|
|
|
|
|
AAP - Accelerating Apache Project |
(Версия: 1.0 от 2003-07-05) [+] [обсудить] |
| Патчи для Apache 1.3.x и 2.0.x предложенные SGI для увеличения производительности httpd сервера.
По заявлению производителей патч позволяет увеличить производительность apache под IRIX в 10 раз, под Linux 2.2.x в 1.7 раз и под Linux 2.4.x в несколько раз. |
|
|
|
|
mod_layout - creates a framework for doing design |
(Версия: 5.1 от 2008-01-08) [+] [есть мнение] |
| Apache модуль для автоматической пристыковки к текстам страниц определенного html кода или результата выполнения скрипта. Например, хеадера и футера, баннера или фрейма на страницы пользователей без их ведома. Существует возможность кэширования вставки. |
|
|
|
|
|
mod_pweb - Mass Virtual Hosting |
(Версия: 0.1 от 2003-07-12) [+] [обсудить] |
| Назначение модуля аналогично стандартному mod_vhost_alias, отличие в том, что каждому виртуальному хосту сопоставляется конкретная директория (для htdocs и cgi-bin), описанная в дополнительном файле конфигурации, при апдейте конфигурации перезапуск apache не требуется - конфигурация подгружается через shared memory при помощи утилиты initshm.
В документации описан факт работы модуля с 16000 виртуальными хостами на одном сервере. Еще один модуль для массового хостинга: mod_dynvhost.
|
|
|
|
|
|
mod_samoylyk - модуль для динамического конфигурирования виртуальных хостов. |
[+] [обсудить] |
| Модуль для переадресации виртуальных хостов с возможностью установки uid и gid пользователя для suexec (примерно cgiwrap + suexec = mod_samoylyk). Описание пользовательских хостов находятся в независимой базе, при добавлении или изменении виртуального хоста перезапуск apache не требуется, каждый виртуальный хост использует примерно 0,3 кб памяти (VirtualHost в apache сьедает 10,5 кб) |
|
|
|
|
Apache 1.x to 2.0 configuration file converter |
(Версия: 2.4.9 от 2014-06-13) [+] [обсудить] |
| Утилита для автоматического преобразования файла конфигурации от Apache 1.x в формат пригодный для использования с Apache 2.0. Изменения относятся прежде всего к значению по умолчанию для директив StartServer, MinSpareServers, MaxSpareServers, MaxClients, MaxRequestsPerChild для разных MPM (Multi-Processing Module)
(модули prefork, threaded, worker, perchild, winnt). Директивы
ServerType, ClearModuleList и AddModule удаляются из конфигурации как устаревшие, меняется формат для ScoreBoardFile и LoadModule, директива Port заменяется на Listen.
|
|
|
|
|
mod_load (доп. ссылка 1) |
[+] [обсудить] |
| Модуль под Apache 1.3.x. Выдает ошибку 503, если средняя нагрузка на сервер (load average) выше чем указанная в httpd.conf директивой MaxLoadAvg. LA определяется через вызов getloadavg(3) из stdlib.h.
Другой вариант mod_load.c, определяет LA читая /proc/loadavg. |
|
|
|
|
|
|
|
|
|
|
|
|
mod_sugid - Hack to mod_cgi.c to be able to run CGI's under another user/group id |
[+] [обсудить] |
| Дополнение к модулю mod_cgi и SuEXEC, позволяет выполнять CGI скрипты
пользователей под UserId и GroupId отличными от реальных идентификаторов пользователей
и сервера. Идентификатор пользователя и группы, под которыми должен выполняться
скрипт, задаются директивами UserId и GroupId, которые могут быть заданы для
группы директорий или виртуального сервера. |
|
|
|
|
|
|
|
|
mod_ssl - The Apache Interface to OpenSSL |
(Версия: 2.8.29-1.3.39 от 2007-09-14) [+] [обсудить] |
| Модуль для WEB-сервреа apache включающий поддержку протоколов безопасной передачи информации Secure Sockets Layer (SSL v2/v3) и Transport Layer Security (TLS v1). |
|
|
|
|
|
|
|
|
Apache Tomcat - контейнер сервлетов с открытым исходным кодом |
[+] [есть мнение] |
| Apache Tomcat (зачастую Tomcat Server) — реализует спецификацию сервлетов, спецификацию JavaServer Pages (JSP) и JavaServer Faces (JSF). Написан на языке Java. Tomcat позволяет запускать веб-приложения, содержит ряд программ для конфигурирования. Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в сервере приложений JBoss. |
|
|
|