不存在的ssl子域优美的404处理?

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

我想要未定义的子域名为404.我想https://domain.com/404将是适当的地方。

我如何做到这一点,并避免“你的连接不是私人的”警告?

这是处理这个问题的正确方法吗?

我的configuration文件看起来像这样(简化):

#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> 

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

为了成功摆脱证书警告,您将需要在该虚拟主机上侦听的通配符SSL证书。 要理解为什么看到SAN / UCC证书与通配符的各种比较。例如, 在这里