default-ssl.conf 和 000-default-le-ssl.conf 有什么区别?

Dom*_*icM 10 conf apache2 ubuntu-18.04

default-ssl.conf 非常不言自明。我认为它是在没有虚拟主机或其他配置覆盖它时使用的默认值。

但 000-default-le-ssl.conf 文件到底是什么?为什么它是这样命名的?前面的三个零是怎么回事?它与 default-ssl.conf 有什么不同/应该以不同的方式使用?应该如何使用其中一个/两者?

无论使用哪个conf文件,我都发现很少有可以使用的默认值。对于多个域,我无法真正使用 ServerName/ServerAlias,并且由于每个域都有自己的目录/端口,我也无法使用默认的 DocumentRoot/Proxy。就我而言,我为每个域生成了 ssl 证书,因此也不能使用默认值。甚至每个域的 ServerAdmin 也可能不同。根据这个用例,我应该将其保留为几乎空白还是我遗漏了一些东西?这种情况下的最佳实践是什么?

我正在 Ubuntu 18.04 上运行最新的 Apache 服务器。

iva*_*van 6

文件名前面的 0 只是在扫描目录并将结果一一处理时强制执行一个顺序。

对于 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>
Run Code Online (Sandbox Code Playgroud)