Apache JServ 프로토콜

Apache JServ Protocol

AJP(Apache Jserv Protocol)는 웹 서버에서 웹 서버 뒤에 있는 응용 프로그램 서버로 인바운드 요청을 프록시할 수 있는 이진 프로토콜입니다.AJP는 매우 신뢰할 수 있는 프로토콜이므로 신뢰할 수 없는 클라이언트에 노출되어서는 안 됩니다. AJP를 사용하여 응용 프로그램 서버에서 중요한 정보에 [1]액세스하거나 코드를 실행할 수 있습니다.

또한 웹 서버가 응용 프로그램서버에 ping을 실행할 수 있다는 점에서 일부 모니터링도 지원합니다.일반적으로 웹 구현자는 1개 이상의 프론트 엔드 웹 서버가 하나 이상의 응용 프로그램서버에 요구를 공급하는 로드밸런싱 배치에서 AJP를 사용합니다.세션은 각 응용 프로그램서버 인스턴스가 이름(루트라고 불립니다)을 취득하는 라우팅 메커니즘을 사용하여 올바른 응용 프로그램서버로 리다이렉트 됩니다.이 시나리오에서는 웹 서버가 응용 프로그램서버의 역프록시[2] 기능합니다.마지막으로 AJP는 리버스 프록시에 환경 고유의 설정을 입력하면 리버스 프록시와 애플리케이션 [3][4]서버 간의 안전한 통신을 제공하는 요청 속성을 지원합니다.

AJP는 플러그인을 사용하는 Apache HTTP Server 1.x에서 실행되며, 및 프록시 밸런서 모듈을 함께 사용하는 Apache 2.x에서 실행됩니다.기타 웹 서버 구현은 lighttpd 1.4.59,[5] nginx,[6] Grizzly 2.1 [7]Internet Information [2]Services에 존재합니다.

AJP를 지원하는 웹 컨테이너 애플리케이션 서버에는 다음이 포함됩니다.Apache Tomcat, WildFly(이전의 JBoss AS), GlassFish.

역사

Alexei Kosut은 원래 1997년 7월에[8] Apache JServ 프로토콜을 개발했지만 버전 1.0 사양은 1998년 [9]7월 29일에 공개되었습니다.그는 또한 Apache JServlet 엔진 0.9와 Apache mod_jserv 0.9a(1997년 [10]7월 30일 출시)의 출시와 함께 같은 달에 그것의 첫 번째 구현을 썼다.

사양은 1998년 [11]9월 9일 버전 1.1로 업데이트되었습니다.또한 1998년에 개정된 프로토콜이 생성되어 규격 버전[12] 2와 2.1에서 [8]발표되었지만 채택되지 않았습니다.

1999년 Sun Microsystems는 JavaServer Web Development Kit(JSWDK; 코드네임 Tomcat) 참조 구현을 Apache Software Foundation에 기부했습니다.이는 JSWDK 2.1의 후속 버전인 Apache Tomcat 버전 3.0이 되었고, Java Servlet API [13]버전 2.1을 지원하기 위한 Apache JServlet 엔진과 AJP의 추가 개발을 지연시켰다.

현재 사양은 버전 1.[14]3으로 유지되지만 공개된 확장[15] 제안과 아카이브된 실험 1.4 [16]제안이 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "AJP File Read/Inclusion in Apache Tomcat (CVE-2020-1938) and Undertow (CVE-2020-1745)". Red Hat Customer Portal. Retrieved 1 March 2020.
  2. ^ a b "BonCode Apache Tomcat AJP 1.3 Connector". boncode.net. Retrieved 9 October 2017.
  3. ^ "NativeSPAttributeAccess". Shibboleth Consortium. Retrieved 13 November 2017.
  4. ^ "Apache Module mod_proxy_ajp". Apache HTTP Server Project. Retrieved 13 November 2017.
  5. ^ "Docs - Lighttpd - lighty labs". redmine.lighttpd.net. Retrieved 14 July 2021.
  6. ^ Yao(姚伟斌), Weibin (6 October 2017). "nginx_ajp_module: support AJP protocol proxy with Nginx". Retrieved 9 October 2017 – via GitHub.
  7. ^ "AJP". Grizzly 2.3 User's Guide. java.net. Retrieved 2013-04-29.
  8. ^ a b Barbieri, Federico; Fumagalli, Pierpaolo; Kluft, Ian; Korthof, Ed; Mazzocchi, Stefano; Pool, Martin (June 30, 1998). "Apache JServ Protocol Version 2.1". Java Apache Project. Archived from the original on 2003-08-04.
  9. ^ Kosut, Alexei (July 29, 1998). "Apache JServ Protocol Version 1.0". Java Apache Project. Archived from the original on 2003-04-15.
  10. ^ "History of Changes - Apache JServ Project". Java Apache Project. Archived from the original on 2003-04-16.
  11. ^ Kosut, Alexei (September 9, 1998). "Apache JServ Protocol Version 1.1". Java Apache Project. Archived from the original on 2003-08-04.
  12. ^ Kluft, Ian; Korthof, Ed; Mazzocchi, Stefano (February 15, 1998). "Apache JServ Protocol Version 2". Java Apache Project. Archived from the original on 2003-08-05.
  13. ^ "The Origin Story of Tomcat". TechNotif. Retrieved 2018-07-25.
  14. ^ "AJP Protocol Reference - AJPv13". Apache Tomcat. Retrieved 2016-08-20.
  15. ^ "AJP Protocol Reference - AJPv13 Extension Proposal". Apache Tomcat. Retrieved 2016-08-20.
  16. ^ "AJPv14 Proposal". Apache Tomcat. Retrieved 2019-05-06.

외부 링크