我已经为我在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是最有可能的原因,它绝对看起来像无害的噪音。
您需要将日志设置为冗长的任何特定原因,还是可以将其拨回到notice或warn ?