NginxでのSPDY導入方法

概要


今回はNginxをSPDYプロトコル通信に対応させたいと思います。
私が、SPDYを知ったのが日経NETWORKの3月号を読んだときでした。
HTTP1.1の次、HTTP2.0はこのSPDYを基礎として作られるのではないかとのこと
(*あくまで現時点の話です)

お断り この記事では導入しただけで、導入テストはしておりません。
    申し訳ございません。それはまた別の記事で

SPDYについて


SPDYとは、Googleが開発した、Webページの表示を高速化するためのプロトコルである。
SPDYは、OSI参照モデルにおけるアプリケーション層に位置するプロトコルである。データストリームの多重化、リクエストへの優先順の付与、HTTPヘッダの圧縮などを行うことでレイテンシを削減し、それによってWeb上のコンテンツの送受信にかかる時間の短縮を図るものである。
引用元はIT用語辞典バイナリ

私自身もまだSPDYについてわからない事が多いですが

  • 従来の1対1のコネクションではなく1本のコネクションで複数の通信ができる。
  • デフォルトでヘッダの圧縮を行う
  • クライアントからの応答だけではなくサーバから通信をおこなうサーバーヒント、サーバープッシュ

上記のような機能があります。
SPDYについてはまた別記事にしたいと考えています。

参考にさせていただいたページ

OSS界のちょっと気になる話(7):次世代HTTP 2.0はSPDYの取り組みがベースに – @IT

二年後に誕生するHTTP 2.0はGoogleのSPDYがベース

Chrome for AndroidではWeb通信がGoogleのプロキシサーバを経由する

WEB高速化のための実験段階のプロトコルSPDYとは|シフルIT

導入準備


導入方法については公式のドキュメントが存在します。
Nginxはパッケージからのインストールもできますが、提供されているのは最新版ではなく古いバージョンのものになります。
よって、私はNginxのソースからrpmbuildで最新のrpmを作りインストールしました。

導入前にrpmbuildできる環境を用意しておくことが必要

NginxのSPECファイル準備

[bash]
git clone git://github.com/easel/nginx-centos-rpm.git
cd nginx-centos-rpm
ls
404.html default.conf nginx-auto-cc-gcc.patch nginx.init nginx.logrotate nginx.sysconfig sources virtual.conf
50x.html index.html nginx.conf nginx-logo.png nginx.spec poweredby.png ssl.conf
cp -R . rpmbuild/SOURCES
cp nginx.spec rpmbuild/SPECS
[/bash]
上記の手順でSPECファイルを準備します

続きを読む “NginxでのSPDY導入方法”

[さくらのVPS]nginx+wordpress管理画面のssl化

概要

wordpressの管理画面をsslで暗号化したいと思います。
用意する証明書は、いわゆるオレオレ証明書、独自に作った証明書になります。

管理画面ssl化の許可


wordpressの管理画面をssl化するときは、wordpressの設定ファイルも変更しなければなりません。
こちらに関してはwordpressのドキュメントがあります。

Administration Over SSL « WordPress Codex

参考

設定するファイルはwp-config.phpファイルになります。
ログイン画面だけsslを使用
[bash]
vim wp-config.php
define(‘FORCE_SSL_LOGIN’, true);
[/bash]
ログイン画面と管理画面をssl化
[bash]
vim wp-config.php
define(‘FORCE_SSL_ADMIN’, true);
[/bash]

証明書の作成


opensslのインストール

opensslコマンドを利用します。コマンドが見つからなかったらインストールしてください。
[bash]
sudo yum install openssl-devel
[/bash]

秘密鍵の作成

[bash]
openssl genrsa -out localhost.key -aes256 1024
[/bash]

CSR(証明書要求)の作成

CSR(Certification Signing Request) 証明書要求ファイルの作成です。
[bash]
openssl req -new localhost.key -out localhost.csr
[/bash]

自己証明書の作成

[bash]
openssl x509 -req -in localhost.csr -signkey localhost.key -out localhost.crt
[/bash]

パスフレーズの削除

webサーバーを再起動したときにパスフレーズを求められます。
そのためうまくサービスが起動できなくなってしまいます。

[bash]
openssl rsa -in localhost.key -out localhost.key
[/bash]
適宜ご自分の環境に会わせて変更してください。
続きを読む “[さくらのVPS]nginx+wordpress管理画面のssl化”