【发布时间】:2015-02-23 18:10:01
【问题描述】:
目前我使用 nginx 作为我的网络服务器。前段时间我发现了服务器名称指示 (SNI),它非常有用,因为我的服务器上有几个域(包括所有子域)。
我就这样退出了,我在我的主域上放了一个 ssl 证书,在我的服务器上放了几个子域。效果很好,没问题:D
(我不只是使用通配符证书的原因是因为我使用的是http://www.startssl.com/,它为我提供了免费的 ssl 证书,但是对于通配符我必须付费,而且我的服务器并不那么重要为此,这只是一个爱好项目)
那么问题来了: 如果有人浏览到一个不存在的(子)域,或者没有安装证书的域,他们当然会在浏览器中收到一个很大的警告,因为 nginx 提供了默认证书,该证书当然与那个不存在的证书不匹配领域。 我想知道,如果 sni 系统被要求提供一个不存在的域名,是否可以告诉 nginx,只是终止连接或者可能做一些事情,而不是名称不匹配警告,会出现一些其他警告在浏览器中说该站点不存在(如果确实存在这样的系统......)
我知道一个解决方案:去掉通配符-dns-record,这样不存在的确实不存在,但这对存在的那些没有帮助,但在 https 上却没有。此外,我不能轻易地添加一个新的子域,并且还必须为其编辑 dns 设置。 (我知道,我很懒,但哪个书呆子不是:P)
哦,如果这样的事情是不可能的,我将不得不接受现在的方式,没什么大不了的,但它会让我的服务器不那么“酷”xd(对不起,我只是一个随机的技术爱好者)。
【问题讨论】:
-
我建议改为在 ServerFault 上询问这个问题,但不要提及任何业余爱好者,因为它是针对专业背景的。
标签: ssl nginx https ssl-certificate sni