尽管浏览器中的数据看起来不错,但 Apache 却产生大量仅 SSL 错误

尽管浏览器中的数据看起来不错,但 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

我通过以下脚本创建了一个自签名 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/

在此过程中我输入

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

我在 sites-enabled/000-default.conf 中设置了<VirtualHost x.com:80><VirtualHost x.com:443>,它们之间的区别在于此部分:

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

答案1

这个问题似乎与这个,我在诊断同一件事时显然发现了这一点。

问题是由于将基于名称(或通配符)的 VirtualHost 设置为 IP 地址而不是 IP 地址而引起的。问题在于,只有在建立连接后,域名才会传递给 Web 服务器,而在此阶段 SSL/TLS 连接必须已处于活动状态,因此服务器需要根据可用的最少信息(即该虚拟主机的 IP 地址)选择正确的 SSL 密钥。

有关于Apache 网站,但基本上您想要更改<VirtualHost x.com:443><VirtualHost 1.2.3.4:443>使用该主机/接口的 IP 地址的位置。

答案2

正如其他人所说,这些消息被记录下来是因为您的LogLevel设置为info。如果您不想要这些特定消息,但仍想要info级别日志,您可以在 apache 配置中重新配置它:

LogLevel info ssl:warn

答案3

LogLevel info很可能是原因,而且它看起来绝对是无害的噪音。

出于任何特殊原因,您需要将日志记录设置为如此详细,或者您可以将其调回类似notice或的内容warn

答案4

将你的配置检查到版本控制中:rcs http://pages.cs.wisc.edu/~plonka/sysadmin/article.html

/etc/ 目录

rcs-ci *.cnf,配置,配置文件

相关内容