22.5. 외부 웹 서버를 프록시 서버로 사용
JBoss EAP는 외부 웹 서버 구성에 따라 지원되는 HTTP, HTTPS 또는 Cryostat 프로토콜을 사용하여 외부 웹 서버의 요청을 수락할 수 있습니다.
각 웹 서버에 대해 지원되는 HTTP 커넥터에 대한 자세한 내용은 HTTP 커넥터 개요 를 참조하십시오. 사용할 웹 서버와 HTTP 커넥터를 결정한 후에는 커넥터 구성에 대한 적절한 섹션을 참조하십시오.
- Apache HTTP Server 의 mod_cluster,mod_jk 또는 mod_proxy 섹션을 참조하십시오.
- MicrosoftIIS의 ISAPI 커넥터 섹션을 참조하십시오.
- Oracle iPlanet Web Server의 NSAPI 커넥터 섹션을 참조하십시오.
HTTP 커넥터의 지원되는 구성에 대한 최신 정보는 JBoss EAP 지원 구성을 참조하십시오.
또한 JBoss EAP가 외부 웹 서버의 요청을 수락 하도록 구성되어 있는지 확인해야 합니다.
22.5.1. HTTP 커넥터 개요 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP는 Apache HTTP Server, Microsoft Cryostat 및 Oracle iPlanet과 같은 외부 웹 서버에 내장된 로드 밸런싱 및 클러스터링 메커니즘을 사용할 수 있습니다. JBoss EAP는 커넥터를 사용하여 웹 서버와 통신합니다. 이러한 커넥터는 JBoss EAP의 undertow 하위 시스템 내에서 구성됩니다.
웹 서버에는 HTTP 요청이 JBoss EAP 노드로 라우팅되는 방식을 제어하는 소프트웨어 모듈이 포함되어 있습니다. 이러한 각 모듈은 작동 방식과 구성 방식에 따라 다릅니다. 모듈은 여러 JBoss EAP 노드에서 작업 부하를 분산하고, 오류가 발생한 경우 또는 둘 다의 경우 작업 부하를 대체 서버로 이동하기 위해 구성됩니다.
JBoss EAP는 여러 다른 커넥터를 지원합니다. 선택한 웹 서버는 사용 중인 웹 서버와 필요한 기능에 따라 다릅니다. JBoss EAP와 호환되는 다양한 HTTP 커넥터의 지원 구성 및 기능을 비교하려면 아래 표를 참조하십시오.
JBoss EAP 8.0을 다중 플랫폼 로드 밸런서 장치로 사용하는 방법에 대한 자세한 내용은 mod_cluster를 사용하여 Cryostat를 로드 밸런서로 구성 을 참조하십시오.
HTTP 커넥터의 지원되는 구성에 대한 최신 정보는 JBoss EAP 지원 구성을 참조하십시오.
| 커넥터 | Web 서버 | 지원되는 운영 체제 | 지원되는 프로토콜 |
|---|---|---|---|
| Red Hat JBoss Core Services Apache HTTP Server, Red Hat JBoss Web Server Apache HTTP Server, JBoss EAP(Undertow) | Red Hat Enterprise Linux, Microsoft Windows Server | HTTP, HTTPS, AJP, WebSocket | |
| Red Hat JBoss Core Services Apache HTTP Server, Red Hat JBoss Web Server Apache HTTP Server | Red Hat Enterprise Linux, Microsoft Windows Server | AJP | |
| Red Hat JBoss Core Services Apache HTTP Server, Red Hat JBoss Web Server Apache HTTP Server | Red Hat Enterprise Linux, Microsoft Windows Server | HTTP, HTTPS, AJP | |
| Microsoft IIS | Microsoft Windows Server | AJP | |
| Oracle iPlanet Web Server | AJP |
| 커넥터 | 세션 지원 | 배포 상태에 맞게 조정 |
|---|---|---|
| 제공됨 | 제공됨 애플리케이션 배포 및 배포 취소를 감지하고 애플리케이션이 해당 서버에 배포되었는지 여부에 따라 클라이언트 요청을 서버로 보낼지 여부를 동적으로 결정합니다. | |
| 제공됨 | 아니요. 애플리케이션 상태와 관계없이 컨테이너를 사용할 수 있는 한 컨테이너에 클라이언트를 요청합니다. | |
| 제공됨 | 아니요. 애플리케이션 상태와 관계없이 컨테이너를 사용할 수 있는 한 컨테이너에 클라이언트를 요청합니다. | |
| 제공됨 | 아니요. 애플리케이션 상태와 관계없이 컨테이너를 사용할 수 있는 한 컨테이너에 클라이언트를 요청합니다. | |
| 제공됨 | 아니요. 애플리케이션 상태와 관계없이 컨테이너를 사용할 수 있는 한 컨테이너에 클라이언트를 요청합니다. |
22.5.2. Apache HTTP Server 링크 복사링크가 클립보드에 복사되었습니다!
독립 실행형 Apache HTTP Server 번들은 이제 Red Hat JBoss Core Services를 통해 별도의 다운로드로 제공됩니다. 이를 통해 설치 및 구성을 단순화하고 보다 일관된 업데이트 환경을 제공합니다.
22.5.2.1. Apache HTTP Server 설치 링크 복사링크가 클립보드에 복사되었습니다!
Apache HTTP Server 설치에 대한 자세한 내용은 JBoss Core Services Apache HTTP Server 설치 가이드를 참조하십시오.
22.5.3. 외부 웹 서버에서 요청 수락 링크 복사링크가 클립보드에 복사되었습니다!
올바른 프로토콜 처리기(예: Cryostat, HTTP 또는 HTTPS)가 구성된 경우 JBoss EAP는 프록시 서버에서 요청을 수락할 필요가 없습니다.
프록시 서버가 mod_jk, mod_proxy, ISAPI 또는 NSAPI를 사용하는 경우 JBoss EAP에 요청을 전송하고 JBoss EAP는 간단히 응답을 제공합니다. mod_cluster를 사용하면 JBoss EAP가 현재 부하, 애플리케이션 라이프사이클 이벤트 및 상태와 같은 정보를 프록시 서버로 전송하여 요청을 라우팅할 위치를 결정할 수 있도록 네트워크를 구성해야 합니다. mod_cluster 프록시 서버 구성에 대한 자세한 내용은 mod_cluster HTTP Connector 를 참조하십시오.
JBoss EAP 구성 업데이트
다음 절차에서는 예제의 프로토콜 및 포트를 구성하는 데 필요한 프로토콜로 바꿉니다.
프로세스
Cryostat의
instance-id특성을 구성합니다.외부 웹 서버는
instance-id를 사용하여 커넥터 구성에서 JBoss EAP 인스턴스를 식별합니다. 다음 관리 CLI 명령을 사용하여 Cryostat에서instance-id특성을 설정합니다./subsystem=undertow:write-attribute(name=instance-id,value=node1)위의 예에서 외부 웹 서버는 현재 JBoss EAP 인스턴스를
node1로 식별합니다.필요한 리스너를 Cryostat에 추가합니다.
외부 웹 서버가 JBoss EAP에 연결하기 위해서는 listener가 필요합니다. 각 프로토콜은 소켓 바인딩에 연결된 자체 리스너가 필요합니다.
참고원하는 프로토콜 및 포트 구성에 따라 이 단계가 필요하지 않을 수 있습니다. HTTP 리스너는 모든 기본 JBoss EAP 구성에 구성되며 ha 또는 full-ha 프로필을 사용하는 경우 Cryostat 리스너가 구성됩니다.
기본 서버 구성을 읽고 필요한 리스너가 이미 구성되어 있는지 확인할 수 있습니다.
/subsystem=undertow/server=default-server:read-resourcelistening에 리스너를 추가하려면 소켓 바인딩이 있어야 합니다. 소켓 바인딩은 서버 또는 서버 그룹에서 사용하는 소켓 바인딩 그룹에 추가됩니다. 다음 관리 CLI 명령은 포트
8009에 바인딩된ajp소켓 바인딩을standard-sockets소켓 바인딩 그룹에 추가합니다./socket-binding-group=standard-sockets/socket-binding=ajp:add(port=8009)다음 관리 CLI 명령은
ajp소켓 바인딩을 사용하여 ajp 리스너를Cryostat에 추가합니다./subsystem=undertow/server=default-server/ajp-listener=ajp:add(socket-binding=ajp)