Carpe Diem

備忘録

SPDYを導入してみる

概要

SPDYはGoogleがWebの表示を高速化するために開発した、新しいプロトコルです。
導入の注意として

  • Apacheでは現在2.2.xでしか対応してないので、2.4.xの場合ダウングレードする必要がある
  • Nginxでは1.5.10以降じゃないとデフォルトで入っていないので、自前でコンパイルする必要がある。
  • OpenSSLは1.0.1以上の必要がある。

と言った制約があります。今回は面倒なのでNginx 1.5.10以上のバージョンで試します。

環境

  • Ubuntu 14.04
  • OpenSSL 1.0.1f
  • Nginx 1.7.8

事前準備

をあらかじめやっておいてください。

設定

$ cd /etc/nginx/conf.d

SSLの例があるのでコピーします。

$ sudo cp example_ssl.conf ssl.conf

コメントアウトしてあるので、アンコメントします。

$ sudo vim ssl.conf
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /etc/nginx/cert.pem;
    ssl_certificate_key  /etc/nginx/cert.key;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

SSL証明書の位置が違うので、それを変更します。

    ssl_certificate      /etc/nginx/cert.pem;
    ssl_certificate_key  /etc/nginx/cert.key;
↓
    ssl_certificate      /etc/ssl/private/server.crt;
    ssl_certificate_key  /etc/ssl/private/server.key;

SPDYの設定を追加します。spdyをつけるだけです。

    listen       443 ssl;
↓
    listen       443 ssl spdy;

シンタックスチェックをします。

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

大丈夫なので再起動します。

$ sudo service nginx restart

動作確認

spdy indicatorというchrome extensionをインストールしているとSPDY対応かどうかわかるので入れてください。
導入していると以下の用に表示されます。

f:id:quoll00:20141208213257p:plain

この状態でNginxのページをHTTPSで開いてみましょう。以下のように表示されたら成功です。

f:id:quoll00:20141208214232p:plain

参考