Apache設定 · 1 min read · Dec 27, 2025

CentOS 6.4でApache2とmod_spdyを使用する

SPDY(発音は「スピーディ」)は、ウェブを高速化することを目的とした新しいネットワークプロトコルです。これは、HTTPプロトコルに対するGoogleの代替手段であり、HTTP/2.0の候補でもあります。SPDYは、ストリームの多重化やヘッダー圧縮など、いくつかの速度関連機能でHTTPを拡張します。SPDYを使用するには、SPDYをサポートするウェブサーバーとブラウザ(Google Chromeや今後のバージョンのFirefoxなど)が必要です。mod_spdyは、Apache HTTPDサーバーにSPDYプロトコルのサポートを追加するオープンソースのApacheモジュールです。このチュートリアルでは、CentOS 6.4でApache2とmod_spdyを使用する方法を説明します。

1 予備ノート

SPDYはHTTPS上で動作するため、SPDYをテストするにはHTTPS対応のウェブサイトが必要です。ユーザーのブラウザがSPDYをサポートしていない場合や何か問題が発生した場合、SPDYはHTTPSにフォールバックすることに注意してください。したがって、mod_spdyをインストールしても既存のセットアップには影響しません。

LAMPセットアップが正常に動作していることを前提としています。これは、CentOS 6.4でPHP5とMySQLサポートを使用してApache2をインストールする方法に記載されています(LAMP)。

テスト目的で、CentOSのApacheパッケージに付属するデフォルトのSSLウェブサイトを使用します(サーバーに既にSSLウェブサイトがある場合は、この手順を実行する必要はありません)。SSLウェブサイトがない場合は、次のようにデフォルトのSSLウェブサイトを有効にできます:

yum install mod_ssl openssl
openssl genrsa -out ca.key 4096
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
cp ca.crt /etc/pki/tls/certs  
cp ca.key /etc/pki/tls/private/ca.key  
cp ca.csr /etc/pki/tls/private/ca.csr
vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf

| [...] SSLCertificateFile /etc/pki/tls/certs/ca.crt [...] SSLCertificateKeyFile /etc/pki/tls/private/ca.key [...] |

/etc/init.d/httpd restart

デフォルトのSSLウェブサイトのURL(例:https://www.example.com)にアクセスして、動作するかどうかをテストします(ここではデフォルトの自己署名証明書を使用しているため、証明書の警告が表示されますが、これはSPDYの使用には影響しません):

2 mod_spdyのインストール

まず、atがインストールされていることを確認します:

yum install at

Googleは、https://developers.google.com/speed/spdy/mod_spdy/でmod_spdyのFedora/CentOSパッケージを提供しています。アーキテクチャ(32ビットまたは64ビット)に適したものをサーバーにダウンロードします

64ビット:

cd /tmp  
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_x86_64.rpm

32ビット:

cd /tmp  
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm

…そして、次のようにインストールします:

rpm -U mod-spdy-*.rpm

その後、Apacheを再起動します:

/etc/init.d/httpd restart

良いことに、mod_spdyは設定が不要で、すぐに動作します!

(実際には、設定ファイル /etc/httpd/conf.d/spdy.conf がありますが、デフォルトの設定で問題ありません。

cat /etc/httpd/conf.d/spdy.conf

| LoadModule spdy_module /usr/lib64/httpd/modules/mod_spdy.so # mod_spdyを有効にします。mod_spdyを完全に無効にするには、 # これを「off」に設定できます。 SpdyEnabled on # 単一の接続上でのリクエストの同時多重化をサポートするために、 # mod_spdyは各Apache子プロセス内でリクエスト処理用のスレッドプールを維持します。 # このスレッドプールのデフォルトサイズは非常に保守的です。 # より大きな値(以下のように)で上書きして同時実行性を高めることができますが、 # メモリ使用量が増加する可能性があります。 # #SpdyMaxThreadsPerProcess 30 # メモリ使用量は、各クライアント接続に対して許可される # 同時にオープンなSPDYストリームの最大数にも影響されます。 # 理想的には、この制限は可能な限り高く設定するべきですが、 # メモリ消費を制限するために必要に応じて調整できます。 # #SpdyMaxStreamsPerConnection 100 |

詳細な設定オプションについては、https://developers.google.com/speed/spdy/mod_spdy/installをご覧ください。

3 テスト

次に、SPDYが動作しているかどうかをテストします。SPDYサポートを持つブラウザが必要です。例:Google Chrome。Chromeを開き、SSLウェブサイト(例:https://www.example.com)を再読み込みします。SPDYを使用するためには再読み込みが重要です(第1章で最初に読み込んだときは通常のHTTPSを使用していました)。その後、新しいタブを開き、URLを入力します。

chrome://net-internals/#spdy

すべてがうまくいけば、SSL vhostがテーブルに表示され、SPDYサポートが機能していることを意味します。

(SPDYのフォールバックメカニズムにより、SPDYをサポートしていない他のブラウザでもSSL vhostは引き続き機能します。)

4 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。