Протокол Apache JServ
Протокол Apache JServ ( AJP ) — это двоичный протокол , который может передавать входящие запросы от веб-сервера на сервер приложений , расположенный за веб-сервером. AJP — это протокол с высоким уровнем доверия, и его никогда не следует предоставлять недоверенным клиентам, которые могут использовать его для получения доступа к конфиденциальной информации или выполнения кода на сервере приложений. [ 1 ]
Он также поддерживает некоторый мониторинг, поскольку веб-сервер может пинговать сервер приложений. Веб-разработчики обычно используют AJP в развертывании со сбалансированной нагрузкой , когда один или несколько интерфейсных веб-серверов передают запросы на один или несколько серверов приложений. Сеансы перенаправляются на правильный сервер приложений с использованием механизма маршрутизации, при котором каждый экземпляр сервера приложений получает имя (называемое маршрутом ). В этом сценарии веб-сервер действует как обратный прокси-сервер. [ 2 ] для сервера приложений. Наконец, AJP поддерживает атрибуты запроса, которые при заполнении параметрами, зависящими от среды, в обратном прокси-сервере обеспечивают безопасную связь между обратным прокси-сервером и сервером приложений. [ 3 ] [ 4 ]
AJP работает на Apache HTTP Server 1.x с использованием mod_jk плагин и в Apache 2.x, используя mod_proxy_ajp, mod_proxy и модули балансировки прокси вместе. Существуют и другие реализации веб-сервера: Lighttpd 1.4.59, [ 5 ] нгинкс , [ 6 ] Гризли 2.1, [ 7 ] и информационные службы Интернета . [ 2 ]
К серверам приложений веб-контейнеров , поддерживающим AJP, относятся: Apache Tomcat , WildFly (ранее JBoss AS) и GlassFish .
История
[ редактировать ]Алексей Косут первоначально разработал протокол Apache JServ в июле 1997 года. [ 8 ] но спецификация версии 1.0 была опубликована позже, 29 июля 1998 г. [ 9 ] В том же месяце он также написал первые его реализации, выпустив движок сервлетов Apache JServ 0.9 и Apache mod_jserv 0.9a (выпущенный 30 июля 1997 г.). [ 10 ]
Спецификация была обновлена до версии 1.1 9 сентября 1998 г. [ 11 ] Также в 1998 году был создан обновленный протокол, опубликованный в версии спецификации 2. [ 12 ] и 2.1, [ 8 ] однако он так и не был принят.
В 1999 году компания Sun Microsystems свою эталонную реализацию JavaServer Web Development Kit (JSWDK; под кодовым названием Tomcat) передала в дар Apache Software Foundation . Это стало Apache Tomcat версии 3.0, преемником JSWDK 2.1, и остановило дальнейшее развитие механизма сервлетов Apache JServ и AJP в направлении поддержки API сервлетов Java версии 2.1. [ 13 ]
Текущая спецификация остается на версии 1.3. [ 14 ] однако существует опубликованное предложение о продлении [ 15 ] а также архивное экспериментальное предложение 1.4. [ 16 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Чтение/включение файла AJP в Apache Tomcat (CVE-2020-1938) и Undertow (CVE-2020-1745)» . Портал для клиентов Red Hat . Проверено 1 марта 2020 г.
- ^ Перейти обратно: а б «Коннектор BonCode Apache Tomcat AJP 1.3» . boncode.net . Проверено 9 октября 2017 г.
- ^ «НативСПАтрибутеАкцесс» . Консорциум Шибболет . Проверено 13 ноября 2017 г. .
- ^ «Модуль Apache mod_proxy_ajp» . Проект HTTP-сервера Apache . Проверено 13 ноября 2017 г. .
- ^ «Документация — Lighttpd — Lighty labs» . redmine.lighttpd.net . Проверено 14 июля 2021 г.
- ^ Яо (январь), Вейбинь (6 октября 2017 г.). "nginx_ajp_module: поддержка прокси-сервера протокола AJP с помощью Nginx " Проверено 9 октября 2017 г. - через GitHub.
- ^ «АЖП» . Руководство пользователя Grizzly 2.3 . java.net . Проверено 29 апреля 2013 г.
- ^ Перейти обратно: а б Барбьери, Федерико; Фумагалли, Пьерпаоло; Клуфт, Ян; Кортхоф, Эд; Маццокки, Стефано; Пул, Мартин (30 июня 1998 г.). «Протокол Apache JServ версии 2.1» . Проект Java Apache . Архивировано из оригинала 4 августа 2003 г.
- ^ Косут, Алексей (29 июля 1998 г.). «Протокол Apache JServ версии 1.0» . Проект Java Apache . Архивировано из оригинала 15 апреля 2003 г.
- ^ «История изменений — проект Apache JServ» . Проект Java Apache . Архивировано из оригинала 16 апреля 2003 г.
- ^ Косут, Алексей (9 сентября 1998 г.). «Протокол Apache JServ версии 1.1» . Проект Java Apache . Архивировано из оригинала 4 августа 2003 г.
- ^ Клуфт, Ян; Кортхоф, Эд; Маццокки, Стефано (15 февраля 1998 г.). «Протокол Apache JServ версии 2» . Проект Java Apache . Архивировано из оригинала 5 августа 2003 г.
- ^ «История происхождения кота» . Технотиф . Проверено 25 июля 2018 г.
- ^ «Справочник по протоколу AJP — AJPv13» . Апач Томкэт . Проверено 20 августа 2016 г.
- ^ «Справочник по протоколу AJP — предложение по расширению AJPv13» . Апач Томкэт . Проверено 20 августа 2016 г.
- ^ «Предложение AJPv14» . Апач Томкэт . Проверено 6 мая 2019 г.
Внешние ссылки
[ редактировать ]- Соединитель Apache Tomcat — Справочник по протоколу AJP AJPv13
- Протокол Apache JServ версии 1.3 Дэн Мильштейн, декабрь 2000 г.
- «Коннектор БонКод» . Бонкод . 16 августа 2016 г. Проверено 9 октября 2017 г. BonCode IIS реализация AJP