lighttpd+OpenSSL:SSLサーバ証明書の設定[ワイルドカード・マルチドメインタイプ]

1枚のSSLサーバ証明書を複数のサイトで利用するには、Apacheに追加設定を行う必要があります。サブドメインを自由に証明できるワイルドカードタイプや、複数のコモンネーム(FQDN)を証明するマルチドメインタイプのSSLサーバ証明書を設定する場合は、このページを参考にしてください。

スタンダードタイプのSSLサーバ証明書の設定は以下のページをご覧ください。

lighttpd+OpenSSL:SSLサーバ証明書の設定[スタンダード]

構成例

秘密鍵・SSLサーバ証明書の保存ディレクトリ /etc/lighttpd/ssl/
SSLの設定ファイル /etc/lighttpd/lighttpd.conf
  • ※lighttpdのバージョンや環境によってパスやディレクトリ名、ファイル名などが異なる場合があります。お客様の環境に合わせて設定してください。
  • ※秘密鍵・SSLサーバ証明書の保存ディレクトリがCSR作成手順と異なりますのでご注意ください。

設定手順

  1. 送付したSSLサーバ証明書と中間証明書を、SSLサーバ証明書の保存ディレクトリに保存してください。

    ※設定済みの証明書及び秘密鍵を上書きしないようご注意ください。

  2. サーバにログインして秘密鍵・SSLサーバ証明書の保存ディレクトリに移動してください。
    #cd /etc/lighttpd/ssl/
  3. SSLサーバ証明書と秘密鍵を結合してください。
    #cat 秘密鍵ファイル SSLサーバ証明書ファイル > 新しい結合ファイル
    #cat example_com.key example_com.crt > example_com_combined.pem

    ※ 結合済みの場合は、この項目をスキップしてください。

  4. 秘密鍵と結合したSSLサーバ証明書を、root権限のみで読めるようにアクセス権と所有権を変更してください。
    # chmod 400 SSLサーバ証明書の保存ディレクトリ/結合後のファイル名
    # chown root:root SSLサーバ証明書の保存ディレクトリ/結合後のファイル名
    
    # chmod 400 example_com_combined.pem
    # chown root:root example_com_combined.pem
  5. 続いて、SSLの設定ファイルをvi等のエディタで開いてください。
    # vi SSLの設定ファイル
    # vi /etc/lighttpd/lighttpd.conf
  6. SSLに該当する項目を設定します。
    ssl.pemfile 結合したSSLサーバ証明書ファイルを指定します。
    ssl.ca-file 中間証明書を指定します。
    $SERVER["socket"] == ":443" {
    ssl.pemfile = "SSLサーバ証明書を保存しているディレクトリ/結合したSSLサーバ証明書のファイル名"
    ssl.ca-file = "SSLサーバ証明書を保存しているディレクトリ/中間証明書のファイル名"
    $HTTP["host"] == "コモンネーム(FQDN)"{
    } …
    }
    $SERVER["socket"] == ":443" {
    ssl.pemfile = "/etc/lighttpd/ssl/example_com_combind.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/example_com.ca-bundle"
    $HTTP["host"] == "example.com"{
    }
    $HTTP["host"] == "contact.example.com" {
    }
    $HTTP["host"] == "sales.example.com" {
    }
    }
    host別にSSLサーバ証明書を設定する場合は、host条件文内で設定してください。
    $SERVER["socket"] == ":443" {
    $HTTP["host"] == "example.com"{
    ssl.pemfile = "/etc/lighttpd/ssl/example_com_combind.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/example_com.ca-bundle" …

    }
    $HTTP["host"] == "contact.example.com" {
    ssl.pemfile = "/etc/lighttpd/ssl/example_com_combind.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/example_com.ca-bundle" …

    }
    $HTTP["host"] == "sales.example.com" {
    ssl.pemfile = "/etc/lighttpd/ssl/example_com_combind.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/example_com.ca-bundle" …

    }
    }
    IPアドレス別にSSLサーバ証明書を設定する場合は、socket条件文内で設定してください。
    $SERVER["socket"] == "10.0.0.1:443" {
    ssl.pemfile = "/etc/lighttpd/ssl/example_com_combind.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/example_com.ca-bundle" } $SERVER["socket"] == "10.0.0.2:443" {
    ssl.pemfile = "/etc/lighttpd/ssl/example_com_combind.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/example_com.ca-bundle" } $SERVER["socket"] == "10.0.0.3:443" {
    ssl.pemfile = "/etc/lighttpd/ssl/example_com_combind.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/example_com.ca-bundle" }
  7. 設定に誤りがないか検証してください。
    #lighttpd -t -f lighttpd.conf
    #lighttpd -t -f lighttpd.conf
    Syntax OK

    ※ 設定ファイルの文法的なエラーをチェックするのみで、設定内容のチェックは行いません。Syntax OKと表示しても正常に動作しない場合がありますのでご注意ください。

  8. reloadもしくはrestartで設定を反映させてください。
    # /etc/init.d/lighttpd reload
    lighttpd を再読み込み中:                                      [  OK  ]
  9. 以上で設定は完了です。SSL通信に問題がないか、証明書の有効期限が更新されているか等を確認してください。
    サイトシールを設定する場合は下記ページをご覧ください。

    サイトシールの設置

lighttpd関連情報

lighttpd

ページの先頭に戻る

  1. ホーム
  2. サポート
  3. マニュアル
  4. lighttpd + OpenSSL
  5. SSLサーバ証明書の設定[ワイルドカード・マルチドメインタイプ]