WordPress などVPSでSSL証明書を実装される場合、提供されているVPSバージョンによってはSSL証明書の実装が少し異なります。具体的には証明書ファイルおよび指定箇所が異なります。
現在主流のApache2.4.8 以降に SSL証明書を実装する方法をご紹介します。
どうして証明書配置方法が変わったのか
Apache公式のドキュメントを見てみますと、サーバ証明書に加えブラウザーに送信される証明書チェーンを明示的に構築する目的があるようです。また、ブラウザの解釈が混乱しないための様です。
具体的にどのように変化したかというと、中間CA証明書を指定する SSLCertificateChainFile ディレクティブを廃止し、SSLCertificateFile ディレクティブに一本化します。
サーバ実装する証明書ファイルの種類は変わらないので、実装する方法が少し異なります。
どういうことかというと、サーバ証明書ファイル、中間CA証明書ファイル、クロスルート証明書ファイルを一つの証明書ファイルに統合してサーバ証明書として指定します。
Apache バージョン確認方法
利用しているApache サーバのバージョンはターミナルよりサーバへ接続し、以下コマンドを実行します。
httpd -v |
証明書ファイルの作成・修正
SSL証明書の取得した場合、「サーバ証明書ファイル」「中間CA証明書ファイル」「クロスルート証明書ファイル」の3つが手元にあると思います。クロスルート証明書ファイルは、証明書の種類によって有無があります。企業認証とかEV認証とか、企業さん向けの証明書にあります。
さくらの証明書(JPRS型)での説明をしますと、手元には「サーバ証明書ファイル」「中間CA証明書ファイル」の2ファイルがあると思います。
各サーバ証明書ファイルをテキストエディターで開きます。そうすると、証明書記載の文字列がありますので、以下の順序で編集していきます。JPRS型証明書ですと、上・中の内容だけです。
上:サーバ証明書
中:中間CA証明書
下:クロスルート証明書
文字列が追記できましたら、ファイルを上書き保存するだけです。これで証明書の統合ファイルが完成しました。
httpd.confファイルの編集
ApacheサーバのConf設定は、SSLCertificateFile ディレクティに記載します。
SSLCertificateChainFileディレクティブは無効化します。
●鍵ファイル
SLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key |
●統合サーバ証明書ファイル
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt |