我为在 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
答案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,配置,配置文件