Apache に SSL 証明書をインストールする際の問題

Apache に SSL 証明書をインストールする際の問題

当社には、SSL を必要とする Plesk を実行する GoDaddy 専用サーバーがあります。

証明書ファイルを生成し、証明書ファイルの場所を Apache に伝える vhost_ssl.conf を作成しました (デフォルトの Plesk Apache 構成 http.include を編集できないため、vhost_ssl.conf は httpd.include にインクルードされます)。

SSLCertificateFile /usr/local/psa/var/certificates/domain.com.crt
SSLCertificateKeyFile /usr/local/psa/var/certificates/domain.com.key
SSLCertificateChainFile /usr/local/psa/var/certificates/sub.class1.server.ca.pem

Apache を停止/起動すると、起動が拒否されます。error_log にも何も表示されません (奇妙です)。

次に、httpd.include を開いて次の部分を見つけました:

<VirtualHost 208.xxx.xxx.xxx:443>
    ServerName   domain.com:443
    ServerAlias  www.domain.com
    UseCanonicalName Off

    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /usr/local/psa/var/certificates/certagC9054

    Include /var/www/vhosts/domain.com/conf/vhost_ssl.conf

それから私はコメントアウトした

   SSLCertificateFile /usr/local/psa/var/certificates/certagC9054

(これは Plesk の SSL 証明書です) をインストールし、Apache を再起動すると、問題なく動作しました。

Apache は同じ VirtualHost ディレクティブ内に複数の SSLCertificateFile が存在することを好まないようです。

Plesk を使用したことがある人なら誰でも知っているように、httpd.include の SSLCertificateFile ディレクティブを単に削除することはできません。誰かがそれを使用すると、Plesk が私の変更を上書きしてしまうからです。これが vhost_ssl.conf にある理由です。

それで私は行き詰まっています。これは私の貧弱な管理スキルの範囲を超えています。何が起こっているのかを私に教えてくれる、自分が何をしているのかを知っている人がいればありがたいです。

前もって感謝します。

答え1

Plesk を使用した経験では、手動で構成ファイルを編集するのではなく、Plesk 管理サイトを使用してサイトを管理すると、一般的にうまくいきます。Plesk の SSL 証明書の組み込みサポートは非​​常に優れています。サードパーティから取得した証明書を簡単に追加し、Plesk で構成したサイトの 1 つに関連付けることができます。

構成ファイルを直接変更することを選択した場合、投稿で私が見る危険信号は、同じ仮想ホストに 2 つの異なる証明書を適用しようとしていることです。私の経験では、SSL 証明書は通常、IP アドレスと SSL 証明書の間に 1:1 の関係がある場合にのみ機能します。私の提案は、SSL 証明書の 1 つを削除するか、仮想ホストを異なる IP アドレスの 2 つの別々のサイトに分割することです。

答え2

これは Plesk とは何の関係もありません。問題は SSL と HTTP の動作方法にあります。基本的に、SSL は起動前にサーバーの名前を知らないため、Apache は使用する証明書のセットを選択できません。http://www.modssl.org/docs/2.8/ssl_faq.html#ToC47この鶏が先か卵が先か問題の詳細については、こちらをご覧ください。

関連情報