17.11. HTTP/2 구성
Cryostat를 사용하면 HTTP/2 표준을 사용할 수 있으므로 헤더를 압축하고 동일한 TCP 연결을 통해 많은 스트림을 멀티플렉싱하여 대기 시간을 줄일 수 있습니다. 또한 서버가 리소스를 요청하기 전에 클라이언트에 리소스를 푸시하여 페이지 로드 속도가 빨라질 수 있는 기능도 제공합니다. Cryostat는 새 사양으로 아직 업데이트되지 않은 클라이언트를 지원하기 위해 HTTP/2의 표준인 SPDY 와도 호환됩니다.
HTTP/2는 JBoss EAP 7.0에서만 기술 프리뷰로 지원되며 HTTP/2 표준을 지원하는 브라우저에서만 작동합니다.
HTTP/2를 사용하려면 Java 8을 사용하고 classpath에서 ALPN 을 설정해야 합니다. HTTP/2에는 ALPN을 지원하는 TLS 스택이 필요하기 때문에 Java 8의 기본 설치에서 제공되지 않습니다.
17.11.1. HTTP/2를 사용하도록 Cryostat 구성
HTTP/2를 사용하도록 Cryostat를 구성하려면 다음을 수행해야 합니다.
HTTPS를 사용하도록 Cryostat 구성
웹 애플리케이션에 HTTPS 를 사용하도록 Cryostat 구성을 위한 서버 보안 가이드 구성 방법을 참조하십시오.
HTTPS를 사용하지 않고 HTTP/2를 사용할 수 있습니다. 즉 HTTP 업그레이드를 사용하는 일반 HTTP만 사용할 수 있습니다. 이 경우 ALPN을 설치할 필요가 없으며 Cryostat에서 HTTP/2를 간단히 활성화할 수 있습니다.
/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=enable-http2,value=true)
ALPN JAR 다운로드
먼저 보유하고 있는 Java의 특정 버전을 확인합니다. 터미널에서 다음 명령을 실행하여 설치한 Java 버전을 출력합니다.
java -version
버전에 따라 이 페이지에서 다운로드할 ALPN JAR의 올바른 버전을 확인하려면 이 페이지를 참조하십시오. 예를 들어 Java 버전 1.8.0_51
을 실행하는 경우 ALPN 버전 8.1.4.v20150727
을 사용하고 alpn-boot-8.1.4.v20150727.jar
를 다운로드합니다.
ALPN JAR을 Boot Classpath에 추가
ALPN JAR의 올바른 버전을 다운로드한 후 EAP_HOME/bin
에 복사합니다. 또한 $JBOSS_HOME
및 $ALPN_VERSION
을 적절한 값으로 교체하는
(또는 관리형 도메인에서 실행 중인 경우 bin/domain.conf)에 다음을 추가해야 합니다.
bin/standalone.conf
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/bin/alpn-boot-$ALPN_VERSION.jar"
클래스 경로 변경 사항을 적용하려면 JBoss EAP를 다시 시작해야 합니다.
HTTPS Listener에서 HTTP/2 활성화
Cryostat에서 HTTP/2를 사용하도록 HTTPS 리스너를 활성화하려면 enable-http2 속성을 true 로 설정해야 합니다.
/subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=enable-http2,value=true)
HTTP/2가 사용 중인지 확인
Cryostat가 HTTP/2를 사용하고 있는지 확인하려면 Cryostat에서 들어오는 헤더를 검사해야 합니다. https를 사용하여 JBoss EAP 인스턴스로 이동하고(예 : https://localhost:8443) 브라우저의 개발자 툴을 사용하여 헤더를 검사합니다. 일부 브라우저(예: Google Chrome)는 HTTP/2를 사용할 때 HTTP/2 의사 헤더(:path,:authority,:method 및 :scheme)를 표시하지만 다른 브라우저(예: Firefox 및 Safari)는 헤더의 상태 또는 버전을 HTTP/2.0 으로 보고합니다.