web-dev-qa-db-ja.com

ワイルドカード証明書を暗号化してApache 2が機能しない

Apache 2を実行しているUbuntu 18.04サーバーでLet's Encryptを使用して、ドメインabc.def.com(実際のドメイン名ではない)とすべてのサブドメイン(* .abc.def.com)に対してワイルドカード証明書を設定しようとしています

次のコマンドを使用して手動で証明書を生成することに成功しました。

certbot certonly --manual -d abc.def.com -d *.abc.def.com

私は指示に従って、TXT abc.def.comドメインのレコードなどを作成し、証明書が正常に作成されて/ etc/letsencrypt/live /に保存されたことの確認を受け取りました

次のように、サイトの/etc/Apache2/sites-enabled/001-abcsite-le-ssl.confを変更して、/ etc/letsencrypt/liveの新しい証明書を参照するようにしました。

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName abc.def.com

        ServerAdmin [email protected]
        DocumentRoot /var/www/abc

        ErrorLog ${Apache_LOG_DIR}/error.log
        CustomLog ${Apache_LOG_DIR}/access.log combined

SSLCertificateFile /etc/letsencrypt/live/abc.def.net-0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/abc.def.net-0001/privkey.pem
Include /etc/letsencrypt/options-ssl-Apache.conf
</VirtualHost>
</IfModule>

Apache2を再起動し、エラーが報告されていないことを確認しました。

service Apache2 restart

これで、アクセスしようとすると https://abc.def.com 「この証明書は* .abc.def.comに対してのみ有効です」というSSL_ERROR_BAD_CERT_DOMAINエラーが表示されます

Certbotリクエストにabc.def.comと* .abc.def.comの両方のオプションを含めたので、理由がわかりません。

次に、以前に生成したワイルドカード以外の証明書(abc.def.comにのみ適用される)をVirtualHost構成ファイルのSSLCertificateFileおよびSSLCertificateKeyFileディレクティブの別のセットとして含めようとしましたが、違いはありません。

何が悪いのですか?

[〜#〜] update [〜#〜]:次のように2つのVirtualHostセクションを設定することで、両方の証明書を使用して強制的に機能させることができました。しかし、ワイルドカード証明書がルート名もカバーしていない場合は、何か問題があるはずですよね?

<VirtualHost *:443>
    ServerName abc.def.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/abc
    ErrorLog ${Apache_LOG_DIR}/error.log
    CustomLog ${Apache_LOG_DIR}/access.log combined

    SSLCertificateFile /etc/letsencrypt/live/abc.def.net/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/abc.def.net/privkey.pem
    Include /etc/letsencrypt/options-ssl-Apache.conf
</VirtualHost>

<VirtualHost *:443>
    ServerName localhost.abc.def.com
    ServerAlias *.abc.def.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/abc
    ErrorLog ${Apache_LOG_DIR}/error.log
    CustomLog ${Apache_LOG_DIR}/access.log combined

    SSLCertificateFile /etc/letsencrypt/live/abc.def.net-0001/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/abc.def.net-0001/privkey.pem
    Include /etc/letsencrypt/options-ssl-Apache.conf
</VirtualHost>
2
Ryan Griggs

-dを使用する正しい方法のようではありません:-d abc.def.com,*.abc.def.comである必要があります

3
Mark Wagner