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 7을 다중 플랫폼 로드 밸런서 장치로 사용하려면 Configure Cryostat as a Load Balancer를 mod_cluster 를 사용하여 로드 밸런서로 참조하십시오.
HTTP 커넥터의 지원되는 구성에 대한 최신 정보는 JBoss EAP 지원 구성을 참조하십시오.
커넥터 | 웹 서버 | 지원되는 운영 체제 | 지원되는 프로토콜 |
---|---|---|---|
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, Oracle Solaris | 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, Oracle Solaris | AJP | |
Red Hat JBoss Core Services Apache HTTP Server, Red Hat JBoss Web Server Apache HTTP Server | Red Hat Enterprise Linux, Microsoft Windows Server, Oracle Solaris | HTTP, HTTPS, AJP | |
Microsoft IIS | Microsoft Windows Server | AJP | |
Oracle iPlanet Web Server | Oracle Solaris | 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-resource
listening에 리스너를 추가하려면 소켓 바인딩이 있어야 합니다. 소켓 바인딩은 서버 또는 서버 그룹에서 사용하는 소켓 바인딩 그룹에 추가됩니다. 다음 관리 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)