Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

nginx 1.7.3 with SSL & SPDY on CentOS7 (on virtualbox)

こんにちは、鯨井貴博@opensourcetechです。

 

今回はnginx1.7.3において、

SSL及びSPDYを動作させようと思います。

 

なお、SPDYとは、

SSL(TLS)の1セッション内で複数のリクエストをやり取り出来る仕組みであり、

複雑化・大容量化するwebページを高速に取り扱う事や、

スマートフォンなどのデバイスからの通信データ量の節約などに役立っています。

 

nginxでは、

2014年2月4日にリリースされた1.5.10でSPDYに対応しております。

nginxの変更履歴

 

基本的な手順については、こちらを参照頂いて

SSL/SPDY対応で異なる点のみ記載します。

 

まず、configureスクリプトの実施では、

./configure --with-http_ssl_module --with-http_spdy_moduleとして、

デフォルトで有効化されないSSLモジュールとSPDYモジュールを組み込みます。

f:id:opensourcetech:20140730150808p:plain

 

続いて、SSL用に設定ファイルnginx.confを編集します。

f:id:opensourcetech:20140730151053p:plain

 

編集内容は、以下の通りにコメントアウトされているものを有効化します。

f:id:opensourcetech:20140730151121p:plain

 

また、cert.pem(公開鍵)とcert.key(秘密鍵)をopensslにて作成します。

今回は自己証明書を使用しています。

f:id:opensourcetech:20140730151200p:plain

 

そして、nginxの起動。

f:id:opensourcetech:20140730151304p:plain

 

lsof -i:80及びlsof -i:443で起動状況を確認します。

f:id:opensourcetech:20140730151311p:plain

 

また、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

f:id:opensourcetech:20140730151314p:plain

f:id:opensourcetech:20140730151317p:plain

 

そして、クライアントからアクセスすると、

https通信が出来るようになりました。

f:id:opensourcetech:20140730152603p:plain

 

また、SPDY対応するには、

nginx.confのssl設定にspdyと追加するのみ。

f:id:opensourcetech:20140730152632p:plain

 

nginxの再起動後、SPDYが有効になります。

FirefoxやchromeなどのアドオンであるSPDY indicatorを使って、

SPDYの使用状況が確認出来ます。

f:id:opensourcetech:20140730152738p:plain

 

URLの右側に雷マークが付いていれば、

SPDY対応となります。

f:id:opensourcetech:20140730152749p:plain

 

 

SSLやSPDYに関する設定方法は、

以下の本家サイトでもチェック出来ます。

 

http://nginx.org/en/docs/http/ngx_http_ssl_module.html

f:id:opensourcetech:20140730153236p:plain

 

 

 

http://nginx.org/en/docs/http/ngx_http_spdy_module.html

f:id:opensourcetech:20140730153624p:plain

 

 

 

 

nginxが試験範囲として含まれているLPICレベル2に興味がある方は、

こちらもどうぞ。

LPICレベル2は取得できる!!

Opensourcetech by Takahiro Kujirai