nginxをSPDYの構築方法を綺麗にまとめておきました。SSLはオレオレ証明書でrapid-sslなどを使えば3,000円で実用のSPDYサーバが立てられます。
openssl1.0.1をincludeしないといけないので自分で準備します。
# cd /usr/local/src # wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz # tar zxvf openssl-1.0.1c.tar.gz
次にnginxをdownloadしてpatchをあて、configureです。
# cd /usr/local/src # wget http://nginx.org/download/nginx-1.3.11.tar.gz # tar zxvf nginx-1.3.11.tar.gz # cd nginx-1.3.11 # wget http://nginx.org/patches/spdy/patch.spdy.txt # patch -p1 < patch.spdy.txt # apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev # ./configure ./configure --with-openssl=/usr/local/src/openssl-1.0.1c --with-http_ssl_module --with-http_spdy_module # make # make install
標準では/usr/local/nginxにインストールされるので/usr/local/nginx/sbinをPATHに追加の必要があります。
オレオレSSL証明書は下記の方法で作成します。
# mkdir /usr/local/nginx/ssl # cd /usr/local/nginx/ssl # openssl genrsa -aes128 1024 > cert.key # 秘密鍵 # openssl req -new -key cert.key > cert.csr # 公開鍵 # openssl x509 -in cert.csr -days 365 -req -signkey cert.key > cert.pem # 証明書
あとはnginx.confにSSLの設定を書くだけ。
server { listen 443 ssl spdy; server_name yourdomain.com ; ssl on; # 秘密鍵 (cert.key ※1) ssl_certificate_key /usr/local/nginx/ssl/cert.key; # 合体証明書 (cert.pem ※2) ssl_certificate /usr/local/nginx/ssl/cert.pem; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; access_log /var/log/nginx/ssl_yourdomain.com.log; error_log /var/log/nginx/ssl_yourdomain.com.error.log; root /var/www/yourdomain.com; index index.php; }
/var/log/nginxにlog用のdirectoryは作っておいてくださいね。
下記が参考になります:
http://nginx.org/en/download.html
http://nginx.org/patches/spdy/README.txt