WEB

Nginx 1.11.5 SPDY Module 설치하기

우성군 0 960 0

 

1. SPDY 프로토콜? 

 

https://developers.google.com/speed/spdy

 

'스피디'라고 발음하는 SPDY는 웹에서 속도를 높이기 위한 네트워크 프로토콜입니다.

 

네트워크 지연을 줄이고, 속도를 빠르게 해줍니다.

 

하지만 Nginx 현재 최신 버전 1.11.5에서는 기본적으로 SPDY 프로토콜을 지원하지 않습니다.

 

왜냐하면 HTTP/2 프로토콜로 전환을 선언한 후 지원을 끊었기 때문입니다.

 

하지만 여전히 SPDY 프토콜로 통신하는 브라우저가 있기 때문에 SPDY 프로토콜 지원은 아직도 의미가 있다고 볼 수 있습니다.

 

 

2. 어떤 브라우저가 혜택을 볼까요?

 

https://www.ssllabs.com 사이트에서 테스트 해본 결과

 

Android 6.0, Safari 8 / iOS 8.4, Safari 8 / OS X 10.10 에서 혜택을 본다고 나와있습니다.

 

그 이후 버전에서는 HTTP/2 프로토콜로 통신하는 것을 확인할 수 있었습니다.

 

자세한 지원 내용은

 

HTTP/2 - http://caniuse.com/#feat=http2

 

SPDY - http://caniuse.com/#feat=spdy

 

위 링크를 참조하세요.

 

 

3. Nginx 패치 및 컴파일 설정 추가하기

 

예전에는 SPDY와 HTTP/2 프로토콜 동시 적용 패치를 CloudFlare에서 진행했었습니다.

 

https://github.com/cloudflare/sslconfig

 

 

하지만 최근에는 더이상 업데이트가 이루어지지 않아 곤란한 상황이었는데요.

 

Nginx 1.11.5에서 적용할 수 있도록 다른 유저의 패치를 찾았습니다.

 

 

https://github.com/cujanovic/nginx-http2-spdy-patch

 

제가 테스트해서 현재  제 홈페이지에 적용해보니 잘 되더군요. ㅎㅎ

 

 

우선 소스 컴파일 설치는 필수입니다.

 

https://www.wsgvet.com/ubuntu/67

 

소스 컴파일 설치에 대한 자세한 내용은 위 링크를 참조하시구요.

 

 

SPDY 패치에 대한 부분만 추가로 넣어보겠습니다.

 

cd /usr/local/src

 

git clone https://github.com/cujanovic/nginx-http2-spdy-patch.git

 

cd nginx-1.11.5/

 

patch -p1 < ../nginx-http2-spdy-patch/nginx-spdy-1.11.5+.patch

 

cd ../

 

위와 같이 github에서 받아서 Nginx 소스 파일에 패치를 적용해주면 됩니다.

 

그리고 컴파일 할 때 

 

./configure --with-http_ssl_module --with-http_v2_module --with-http_spdy_module

위와 같이 spdy 모듈을 추가해주면 됩니다. 

 

 

4. Nginx 설정에 추가해주기

 

server {

listen 443 ssl http2 spdy;

...

}

위와 같이 http2와 spdy를 동시에 넣어주면 됩니다. 

 

브라우저 간에 간섭하지 않고, 위에 알려드린 3가지 브라우저에서 spdy 프로토콜이 추가로 지원된다고 보시면 됩니다.

 

 

https://www.ssllabs.com/ssltest/analyze.html?d=www.wsgvet.com

 

위 링크에서도 확인 가능하시겠지만, 결과적으로

 

NPN Yes h2 spdy/3.1 http/1.1

위와 같이 표현이 됩니다. 

 

향후 패치를 계속 배포할지는 모르겠습니다만, 현재는 가능하니 적용하는 것도 좋을 것 같습니다.

 

 

5. SPDY 지원 확인하기

 

https://spdycheck.org/ 

 

위 사이트에서 웹사이트 주소를 넣으면 SPDY 프로토콜을 지원하는지 확인할 수 있습니다.

 

Success! SPDY is Enabled!

Hurray, this website is using SPDY! The following protocols are supported:

  • h2
  • spdy/3.1
  • http/1.1

성공적으로 적용이 되면 위와 같은 표시가 나타날 것입니다. 

, , , ,

0 Comments