Apache2 错误:通过 SNI 和 HTTP 提供的主机名不匹配

Posted

技术标签:

【中文标题】Apache2 错误:通过 SNI 和 HTTP 提供的主机名不匹配【英文标题】:Apache2 error: Hostname provided via SNI and HTTP do not match 【发布时间】:2015-03-02 13:18:06 【问题描述】:

在我的 Apache error.log 中,我收到如下错误:

通过 SNI 提供的主机名 www.example.com 和通过 HTTP 提供的主机名 hk.dv.nextmedia.com 不同

我不知道 hk.dv.nextmedia.com 是什么。它与我的网站或服务器无关,而且我从未在我的 Apache 或服务器配置中的任何地方输入过该域。

谁能解释一下这个错误?我应该担心我的服务器上可能发生的任何恶意行为吗?

【问题讨论】:

在我的 apache 日志中多次收到来自同一个域的相同消息。以前没听说过这个域名。运行稳定的 debian。 另请参阅此答案:serverfault.com/a/662872/63361 【参考方案1】:

我希望我不会说得太早。但是,我相信我已经澄清了这一点。我已经五天没有收到这条消息了,五天前我编辑了我的 /etc/hosts 文件,添加了一行包含我的服务器 IP 和域名。

###.###.###.### mydomain.com

以前我只有几行:

127.0.1.1 hostname hostname
127.0.0.1 localhost

再次,希望我没有操之过急,但我相信这可能已经解决了我的问题。

【讨论】:

我有点超前了。我认为这不能解决问题。【参考方案2】:

这是客户端错误或有人正在寻找漏洞。

“客户端指示它在握手过程开始时尝试连接的主机名” https://en.wikipedia.org/wiki/Server_Name_Indication

【讨论】:

【参考方案3】:

我在一台服务器上发生了类似的事情,原因是this。因此,请检查您的 ssl_access_log,您可能会发现类似

141.212.122.224 - - [16/Nov/2016:03:42:45 +0100] "GET /UlisseREST/api/actions/RequestActionsToExecute HTTP/1.1" 400 226

在 ssl_error_log 中你有这样的东西:

[Wed Nov 16 03:42:45.737309 2016] [ssl:error] [pid 3666] AH02032: Hostname **** provided via SNI.....

我知道我在这个问题上迟到了,但有人可能会觉得这很有趣。它并不总是 TLS 虚拟主机混淆攻击,但它可能是,所以不要忽视它......

【讨论】:

以上是关于Apache2 错误:通过 SNI 和 HTTP 提供的主机名不匹配的主要内容,如果未能解决你的问题,请参考以下文章

未在运行状况检查请求中设置 SNI 扩展 (Apache v.2.4.35)

使用 SNI 通过 HTTPS 提供服务时出现 CloudFront 错误

SNI

Windows 2016 IIS 上 HTTP/2 的混合模式

关于Nginx根据SNI字段匹配对应证书加密套件支持

SNI协议分析