web-dev-qa-db-ja.com

default-ssl.confと000-default-le-ssl.confの違いは何ですか?

default-ssl.confは一目瞭然です。私はそれがvhostまたは他の構成がそれを上書きしないときに使用されるデフォルト値のためであると思います。

しかし、正確には000-default-le-ssl.confファイルとは何ですか?なぜそのように名付けられているのですか?前にあるトリプルゼロとは何ですか? default-ssl.confとはどのように異なりますか?どちらか/両方をどのように使用する必要がありますか?

どのconfファイルに関係なく、使用できるデフォルト値はほとんどありません。複数のドメインでは、ServerName/ServerAliasを実際に使用することはできません。各ドメインには独自のディレクトリ/ポートがあるため、デフォルトのDocumentRoot/Proxyも使用できません。私の場合、各ドメインに対してssl証明書が生成されているため、そこでもデフォルト値を使用できません。 ServerAdminでさえ、ドメインごとに異なる可能性があります。この使用例に基づいて、私はそれをほとんど空白のままにすべきですか、それとも何か不足していますか?このシナリオのベストプラクティスは何ですか?

Ubuntu 18.04で最新のApacheサーバーを実行しています。

2
DominicM

ファイル名の前の0は、ディレクトリがスキャンされ、結果が1つずつ処理されるときに、順序を強制するだけです。

Apacheの場合、最初に読み込まれる/処理される仮想ホストは、サーバーがサービスを提供するように構成されていないホスト名を要求して接続する場合にクライアントに送信される仮想ホストです。

default-le構成は、LetsEncryptが認証/確認に使用する可能性がある構成のように聞こえますが、これは、ファイル名にleが含まれていることに基づく、単なる大まかな推測です。確実に知るためには内容を調べ、質問があれば投稿してください。

デフォルトなどについては、ほぼすべての構成情報、または少なくともファイルパスの親ディレクトリなどを共有できます。

これが私が使用するテンプレートです。DOMAINとYOURIPを適宜置き換えてください。

<VirtualHost *:80>
  ServerName DOMAIN
  ServerAlias www.DOMAIN
  RewriteEngine on
  RewriteRule ^/(.*)$ https://www.DOMAIN/$1 [R,L]
</VirtualHost>
<VirtualHost YOURIP:443>
    ServerName DOMAIN
    ServerAlias www.DOMAIN
    ServerAdmin webmaster@DOMAIN
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/DOMAIN/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
    CustomLog ${Apache_LOG_DIR}/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    DocumentRoot /var/www-DOMAIN
    <directory /var/www-DOMAIN>
        Options All
                AllowOverride All
                Require all granted
    </directory>
    ErrorLog ${Apache_LOG_DIR}/ssl-DOMAIN-error.log
    CustomLog ${Apache_LOG_DIR}/ssl-DOMAIN-access.log combined
</VirtualHost>
2
ivanivan