こんにちは、鯨井貴博@opensourcetechです。
今回はnginx1.7.3において、
SSL及びSPDYを動作させようと思います。
なお、SPDYとは、
SSL(TLS)の1セッション内で複数のリクエストをやり取り出来る仕組みであり、
複雑化・大容量化するwebページを高速に取り扱う事や、
スマートフォンなどのデバイスからの通信データ量の節約などに役立っています。
nginxでは、
2014年2月4日にリリースされた1.5.10でSPDYに対応しております。
基本的な手順については、こちらを参照頂いて
SSL/SPDY対応で異なる点のみ記載します。
まず、configureスクリプトの実施では、
./configure --with-http_ssl_module --with-http_spdy_moduleとして、
デフォルトで有効化されないSSLモジュールとSPDYモジュールを組み込みます。
続いて、SSL用に設定ファイルnginx.confを編集します。
編集内容は、以下の通りにコメントアウトされているものを有効化します。
また、cert.pem(公開鍵)とcert.key(秘密鍵)をopensslにて作成します。
今回は自己証明書を使用しています。
そして、nginxの起動。
lsof -i:80及びlsof -i:443で起動状況を確認します。
また、iptables(ファイアーウォール)に設定追加します。
iptables -I IN_public_allow 2 -p tcp --dport 80 -m state --state NEW -j
ACCEPT
iptables -I IN_public_allow 3 -p tcp --dport 443 -m state --state NEW -
j ACCEPT
iptables -L --line-numbers
そして、クライアントからアクセスすると、
https通信が出来るようになりました。
また、SPDY対応するには、
nginx.confのssl設定にspdyと追加するのみ。
nginxの再起動後、SPDYが有効になります。
FirefoxやchromeなどのアドオンであるSPDY indicatorを使って、
SPDYの使用状況が確認出来ます。
URLの右側に雷マークが付いていれば、
SPDY対応となります。
SSLやSPDYに関する設定方法は、
以下の本家サイトでもチェック出来ます。
http://nginx.org/en/docs/http/ngx_http_ssl_module.html
http://nginx.org/en/docs/http/ngx_http_spdy_module.html
nginxが試験範囲として含まれているLPICレベル2に興味がある方は、
こちらもどうぞ。