Linux Tips

Webサーバ「lighttpd」でSSLを使うには

北浦訓行
2006/2/9

 lighttpd話題のWebサーバ「lighttpd」を使うには参照)は、設定ファイルを変更するだけでSSLを使用できる。ここではFedora Core 4を使って、LAN内など特定のユーザー向けにWebサーバを公開するという前提でSSLの設定方法を紹介する。

注:外部向けのWebサーバでSSLを使用する場合は、信頼できる証明書発行機関(CA)に認証されたサーバ証明書の使用をお勧めする。

 まず、サーバ証明書を置く場所を決める。ここでは、/etc/lighttpd/sslディレクトリを作成して、そこに置くことにする。作成手順は以下のとおりだ。

# mkdir -p /etc/lighttpd/ssl
# cd /etc/lighttpd/ssl
# openssl req -new -x509 -keyout server.pem -out server.pem 
-days 365 -nodes
(省略)
-----
Country Name (2 letter code) [GB]:JP ←2文字国名(JP)
State or Province Name (full name) [Berkshire]:Tokyo ←都道府県
Locality Name (eg, city) [Newbury]:Chiyoda ←区市町村
Organization Name (eg, company) [My Company Ltd]:Example Corp. ←組織名
Organizational Unit Name (eg, section) []:Example Dept. ←部署名
Common Name (eg, your name or your server's hostname) []:Noriyuki 
Kitaura ←担当者名またはサーバ名など
Email Address []:kitaura@example.co.jp ←メールアドレス

 次に、lighttpdの設定ファイル(ここでは/etc/lighttpd/lighttpd.conf)を編集してSSLを有効にするのだが、注意すべき点がある。lighttpd.confには、SSLに関する記述(コメントアウト状態)がある。

#### SSL engine
#ssl.engine                 = "enable"
#ssl.pemfile                = "/etc/lighttpd/ssl/server.pem"

 それぞれ行頭の「#」を削除して.pemファイルのフルパスを記述すれば、lighttpdを再起動するだけでSSLが使用できる状態になる。しかし、上記の設定ではあらゆる通信がSSLで暗号化されてしまう。必要な部分(ユーザー認証など)だけをSSL化する場合は、以下のような方法を取る必要がある。

  • 非SSL用とSSL用のlighttpdプロセスを別々に起動する
  • バーチャルホスト機能を使い、特定のディレクトリのみSSLを有効にする

 ここでは、バーチャルホスト機能を利用する方法を説明する。lighttpdの設定ファイルの適当な位置に、以下のような記述を追加する。

$SERVER["socket"] == "192.168.0.10:443" {
  ssl.engine                  = "enable"
  ssl.pemfile                 = "/etc/lighttpd/ssl/server.pem" ←.pemファイルのフルパス
  server.name                 = "www.example.com" ←サーバ名
  server.document-root        = "/srv/www/lighttpd/ssl" ←SSL通信時に公開するドキュメントを置くディレクトリ
}

 lighttpd.confの修正が終わったら、lighttpdを再起動する。

# service lighttpd restart

 これで、/srv/www/lighttpd/sslディレクトリのファイルにアクセスするときのみ、SSL通信となる。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間