Centos6 의 경우 openssl 1.0.2 버전을 rpm 파일로 제공하지 않아서
아래와 같이 따로 컴파일 하였는데, centos7 부터는 yum 으로만 설치해서 운영해도 될 것 같음.
ㅁ HTTP2 지원 버전
Nginx 1.9.5 ↑ (Openssl1.0.2 ↑ 버전에서 컴파일 필요)
nginx version: nginx/1.16.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) built with OpenSSL 1.0.2t 10 Sep 2019 TLS SNI support enabled configure arguments: --prefix=/app/nginx --with-openssl=../openssl-1.0.2t --with-http_v2_module --with-pcre=../pcre-8.43 --with-http_ssl_module --with-zlib=../zlib-1.2.11 |
Tomcat 8.5.x ↑ (server.xml)
<Connector port="8080" protocol="HTTP/1.1"> …
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
...
</Connector>
|
ㅁ HTTP/1.1 과 HTTP/2 의 간단한 성능 비교 (컨트롤 + f5 필요)
Ø https://imagekit.io/demo/http2-vs-http1
ㅁ HTTP/2 적용시 주의사항
Ø 혼합컨텐츠 사용 불가 (소스 수정 필요)
Ø Tomcat 버전과 java version 업그레이드에 따른 추가 개발 필요
Ø 기타 오류 수정
기존에 php 소스는 정상동작 하였으나 HTTP2 적용 후 페이지가 안 뜸. (err_http2_protocol_error 발생)
수정 : header('charset=utf-8'); > header("Content-Type: text/html; charset=UTF-8");
Ø Nginx SSL conf 에 구 브라우저 지원 설정 추가 (IE 에서 TLS1.2 지원이 안 켜진 사용자를 위한 설정)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
---------------------- 번 외 --------------------
ㅁ nginx http/3 개발 현황
Ø https://trac.nginx.org/nginx/milestone/nginx-1.17
ㅁ HTTP/3 브라우저지원 현황