首页 > 解决方案 > 虚拟主机重定向不存在的子域

问题描述

我有一个*.example.com来自 LetsEncrypt 的通配符证书。

我想捕获所有不存在的子域并将它们重定向到example.com. 因此,示例之前的所有内容。sadsdadasdwdasd.example.com => https://example.com

这有效:

www.something.example.com => https://example.com
http://www.something.example.com  => https://example.com
https://something.example.com => https://example.com

但我有一个问题:https://www.something.example.com

包含www我无法将此子域重定向回example.com,它显示此 ssl 错误:ERR_CERT_COMMON_NAME_INVALID

因为如果有人https://www在 url 中输入,它就不起作用。

问题出在哪里?

标签: sslhttpssubdomainvirtualhost

解决方案


通配符 ( *) 仅匹配单个标签,而不匹配整个结构。

请参阅https://en.wikipedia.org/wiki/Wildcard_certificate

由于通配符仅涵盖一级子域(星号与句号不匹配),[4] 这些域对证书无效:

test.login.example.com

所以你的证书*.example.com永远不会匹配 hostname www.something.example.com。不,您不能拥有*.*.example.com.


推荐阅读