[nginx] http2 적용하기

nginx 2016. 6. 18. 13:16



많은 사람들이 구글이 만든 http2를 점차 적용하고 있다.


https://w3techs.com/technologies/details/ce-http2/all/all





nginx는 1.9.5부터 http2를 사용할 수 있다.

https://www.nginx.com/blog/nginx-1-9-5/



구글 크롬을 지원하려면 특정 open ssl 버전이 필요하다.

https://www.nginx.com/blog/supporting-http2-google-chrome-users/



Operating SystemOpenSSL Version
CentOS/Oracle Linux/RHEL 6.5+, 7.0+1.0.1e


센트OS 에서 1.0.1e 이상의 open ssl 버전을 사용하려면, open ssl을 1.0.1e 이상을 설치하고, nginx에서 버전을 확인하고 사용한다.

아래 예시에서는 1.0.2h을 사용했다. (필요하다면 nginx 모듈을 추가할 수 있다)


--prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_secure_link_module --with-openssl=/usr/local/src/openssl-1.0.2h 




nginx 설정에는 아주 간단하게 listen 지시자 옆에 http2를 추가한다.


    listen               443 http2 default_server;



nginx 서버에 openssl가 제대로 적용되었는지, 확인한다.



$ ./nginx/sbin/nginx -V

nginx version: nginx/1.10.1

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)

built with OpenSSL 1.0.2h  3 May 2016

TLS SNI support enabled




클라이언트에서도 http2를 확인할 수 있다.(크롬 브라우져에서 http2가 지원되는지 확인할 수 있다.)


크롬 확장 프로그램 HTTP/2 and SPDY indicator 을 설치한다.


http2를 적용한 페이지를 열고, 크롬 브라우져의 플러그인에서 파란 번개 마크 확인할 수 있다. 

파란 번개 마크를 클릭하면, "HTTP/2 Enabled: true"가 화면에 출력되는지 확인할 수 있다.







Posted by '김용환'
,