不存在的 SSL 子域名可以优雅地处理 404 吗?

不存在的 SSL 子域名可以优雅地处理 404 吗?

运行 Apache/2.4.16 (Ubuntu)。我有一个包含 5 个子域 (app、cdn、api、m、www/home) 的证书。

我想让未定义的子域名变成 404。我猜https://domain.com/404是合适的地方。

我该如何做到这一点并避免“您的连接不是私密的”警告?

这是处理此事的正确方法吗?

我的配置如下(已大大简化):

#APP
<VirtualHost _default_:443>

    ServerName app.domain.com
    DocumentRoot /var/www/html/app

</VirtualHost>

#CDN
<VirtualHost _default_:443>

    ServerName cdn.domain.com
    DocumentRoot /var/www/html/cdn

</VirtualHost>

#API
<VirtualHost _default_:443>

    ServerName api.domain.com
    DocumentRoot /var/www/html/api

</VirtualHost>

#M
<VirtualHost _default_:443>

    ServerName m.domain.com
    DocumentRoot /var/www/html/m

</VirtualHost>

#HOME
<VirtualHost _default_:443>

    ServerName domain.com
    ServerAlias www.domain.com
    DocumentRoot /var/www/html/home

</VirtualHost>

答案1

你的问题有点X/Y 问题继续,但我会解释一下。您将需要一个别名/服务器名为 的虚拟主机*.domain.com。从这里您可以根据需要设置对 404 页面的引用。

为了成功摆脱证书警告,您需要一个监听该虚拟主机的通配符 SSL 证书。要了解原因,请查看 SAN/UCC 证书与通配符的各种比较。例如,这里

相关内容