하위 도메인이 도메인 가상 호스트에 의해 포착되지 않습니다.

하위 도메인이 도메인 가상 호스트에 의해 포착되지 않습니다.

Ubuntu 서버 22.04에서 apache2를 사용합니다.

0-default.conf

<VirtualHost *:80>
    //ServerName and ServerAlias undefined
</VirtualHost>

0-default-ssl.conf

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        //ServerName and ServerAlias undefined
    
        Redirect permanent / "http://my_ip_address/"
    
        SSLCertificateFile  /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    </VirtualHost>
</IfModule>

example.com.conf

<VirtualHost *:80>
    ServerName example.com
    ServerAlias *.example.com

    Redirect permanent / https://example.com/
</VirtualHost>

example.com-ssl.conf

<IfModule mod_ssl.c>
    <VirtualHost *:443>

        ServerName example.com
        ServerAlias *.example.com

        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    </VirtualHost>
</IfModule>

letsencrypt 인증서에는 다음이 포함됩니다.example.com, www.example.com and mail.example.com

로그에 다음 오류가 있습니다.

[ssl:info] [pid 947] AH01914: Configuring server mail.example.com:443 for SSL protocol
[ssl:debug] [pid 947] ssl_engine_init.c(528): AH01893: Configuring TLS extension handling
[ssl:debug] [pid 947] ssl_util_ssl.c(451): AH02412: [mail.example.com:443] Cert does not match for name 'mail.example.com' [subject: CN=vm1878795 / issuer: CN=vm1878795 / serial: 4AEB9107E420C7927F1EC0126E430A894F6BBC6B / notbefore: Aug 22 18:05:38 2023 GMT / notafter: Aug 19 18:05:38 2033 GMT]
[ssl:warn] [pid 947] AH01909: mail.example.com:443:0 server certificate does NOT include an ID which matches the server name
[ssl:info] [pid 947] AH02568: Certificate and private key mail.example.com:443:0 configured from /etc/ssl/certs/ssl-cert-snakeoil.pem and /etc/ssl/private/ssl-cert-snakeoil.key
[ssl:info] [pid 947] AH01876: mod_ssl/2.4.52 compiled against Server: Apache/2.4.52, Library: OpenSSL/3.0.2

https mail.example.com도메인 호스트가 아닌 기본 호스트에 의해 포착되는 이유에 대한 아이디어가 있습니까 ?

업데이트

다음은 의 출력입니다.apachectl -D DUMP_VHOSTS

VirtualHost configuration:
*:443                  is a NameVirtualHost
     default server mail.example.com (/etc/apache2/sites-enabled/0-default-ssl.conf:2)
     port 443 namevhost mail.example.com (/etc/apache2/sites-enabled/0-default-ssl.conf:2)
     port 443 namevhost example.com (/etc/apache2/sites-enabled/example.com-ssl.conf:2)
             wild alias *.example.com
*:80                   is a NameVirtualHost
     default server mail.example.com (/etc/apache2/sites-enabled/0-default.conf:1)
     port 80 namevhost mail.example.com (/etc/apache2/sites-enabled/0-default.conf:1)
     port 80 namevhost example.com (/etc/apache2/sites-enabled/example.com.conf:1)
             wild alias *.example.com

따라서 아마도 질문은 다음과 같습니다. 왜 mail.example.com기본 서버 이름으로 간주됩니까? PTR이 가리키는 것이 mail.example.com이유일까요?

관련 정보