我最近把一个WordPress网站从一个小型商店从托pipe服务提供商移到了我自己运行的Ubuntu Server 12.04.2 LTS和Apache 2.2.22的服务器上。 我需要商店的SSL。 我在服务器的一个新的IP上设置了几个简单的虚拟主机,一个绑定到特定IP的端口80,另一个绑定到端口443.在虚拟主机configuration中都有ServerName www.example.com
和ServerAlias example.com
。 我有SSLStrictSNIVHostCheck off
。
该网站运行非常缓慢,但正在工作。 我在我的错误日志中得到以下内容。
[Error] Hostname example.com provided via SNI and hostname www.example.com provided via HTTP are different
我期望缓慢与上述信息有关。 任何想法,为什么出现,我能做些什么呢?
看看你的访问日志(不是错误日志)。 随着错误的时间和date,你应该能够识别出错的请求,并找出用户代理。 就我而言,这是一个bot:
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)"
我的服务器回答HTTP 400:错误的请求。
除非我误解,否则在TLS协商中,客户端发送两次主机名:一次在SNI(服务器名称指示)中build立SSL连接之前,一次在实际HTTP请求之后。 如果服务器名称不匹配,则表示客户端损坏,应该与您的服务器configuration无关。
也许他们有一天会修复他们的机器人,同时你可能会忽略它。 我怀疑这可能会导致主机缓慢,除非请求的速度非常快。
也许这个错误是由一些客户端故意唤起的,来testing你的服务器的漏洞。 我发现来自researchscan367.eecs.umich.edu
的请求触发了我维护的服务器上的错误。 在这种情况下,发生错误是一件好事。
我很好奇什么样的攻击是可能的,我在安全堆栈交换中提出了这个问题: Apache2的错误代码AH02032阻止了什么样的攻击?
听起来像一个客户端问题,一开始看…什么浏览器造成这个问题?
该消息将build议在SSL连接设置期间客户端发送的主机名与客户端在SSL层启动后在HTTPS请求中发送的主机名不同。
检查您的/ etc / hosts文件,看看您是否将域名分配给本地(内部)IP地址。 在更改/ etc / hosts服务nscd restart后,不要忘记重新启动名称服务高速caching守护程序