即使浏览器中的数据看起来很好,Apache也会产生大量仅SSL的错误

我已经为我在localhost上运行的网站安装了自签名SSL证书。 看来到达浏览器的数据对于SSL和非SSL版本都是完整和正确的,但是我得到了很多似乎另有说明的apache错误输出。

当我刷新时,我立即在日志中获得了几行这些行

AH01964: Connection to child 0 established 

也可能会出现2,6,4等,没有特别的顺序。

在接下来的几秒钟里,我得到了其中几个

 (70014)End of file found: [client 127.0.0.1:32839] AH01991: SSL input filter read failed. [client 127.0.0.1:32840] AH01382: Request header read timeout 

我认为这些行的多样性是由于脚本,CSS等,因为如果我去'查看源代码'并刷新窗口,我得到其中之一

 AH01964: Connection to child 4 established 

…没有别的。 所有这些只发生在https连接上。 http的日志是无声的。

有什么不对吗? 我重申,内容似乎是完全正确的服务,这似乎与日志中的“读取失败”和“超时”语言相矛盾。 这些错误只是噪音或我必须解决的东西?

如果他们只是无害的噪音,我怎么把它们关掉?


这是我如何设置一切。 (我从各种教程中分割出来,却没有完全理解它。)

在/ etc / hosts我有

 127.0.0.1 x.com 

我通过下面的脚本创build了一个自签名的SSL证书

 openssl genrsa -des3 -out x.com.key 2048 openssl req -new -key x.com.key -out x.com.csr cp x.com.key x.com.key.org openssl rsa -in x.com.key.org -out x.com.key openssl x509 -req -days 3650 -in x.com.csr -signkey x.com.key -out x.com.crt chmod 400 x.com.{key,crt,csr} sudo chown www-data x.com.{key,crt,csr} sudo mv x.com.{key,crt,csr} /path/to/website/ 

在这个过程中,我input

 Common Name (eg server FQDN or YOUR name) []:x.com 

我有一个<VirtualHost x.com:80>和一个<VirtualHost x.com:443>在sites-enabled / 000-default.conf中设置,它们之间的区别是这部分:

 SSLEngine on SSLCertificateFile /path/to/website/x.com.crt SSLCertificateKeyFile /path/to/website/x.com.key SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown CustomLog ${APACHE_LOG_DIR}/x.com.ssl.log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 

他们有这个共同点:

 LogLevel info 

这个问题似乎和这个问题是一样的,显然我在诊断同样的事情时发现了这个问题。

此问题是由基于(或通配符)设置为VirtualHost而不是IP地址导致的。 问题是一旦build立连接,域名只能传递给Web服务器,SSL / TLS连接必须已经处于活动状态,因此服务器需要根据可用的最less信息select正确的SSL密钥,那就是该虚拟主机的IP地址。

在Apache网站上有更多的详细信息和示例configuration信息,但基本上,您希望将<VirtualHost x.com:443>更改为使用该主机/接口的IP地址的<VirtualHost 1.2.3.4:443>

正如其他人所说,这些消息被logging,因为您的LogLevel设置为info 。 如果你不想要这些特定的消息,但仍然需要info级日志,你可以在你的apacheconfiguration中重新configuration:

LogLevel info ssl:warn

LogLevel info是最有可能的原因,它绝对看起来像无害的噪音。

您需要将日志设置为冗长的任何特定原因,还是可以将其拨回到noticewarn