我已经运行这个 apache 2.4.17 实例很长时间了。它被用作后台许多应用程序的代理。最近我升级了 Piwik/Matomo,这给 apache 带来了一些问题,但现在应该已经修复了。但是,在多次重启物理服务器和 apache 实例后,几个小时后它仍然会使 apache 严重崩溃,需要 apachectl restart 才能使其再次运行。
检查了 apache 的 error.log,发现有不少这样的条目:
[Sun Mar 21 16:15:21.126158 2021] [ssl:info] [pid 1274] [client x}:0] AH01998: Connection closed to child 28 with abortive shutdown (server <domain>:443)
[Sun Mar 21 16:15:21.136567 2021] [ssl:info] [pid 1271] [client 216.245.221.83:44352] AH01998: Connection closed to child 25 with abortive shutdown (server <domain>:443)
[Sun Mar 21 16:15:21.146466 2021] [ssl:info] [pid 1270] [client ?x}:0] AH01998: Connection closed to child 24 with abortive shutdown (server <domain>:443)
[Sun Mar 21 16:15:21.153012 2021] [ssl:info] [pid 1269] [client x}:0] AH01998: Connection closed to child 23 with abortive shutdown (server <domain>:443)
[Sun Mar 21 16:15:21.164055 2021] [ssl:info] [pid 1262] [client ?v}:0] AH01998: Connection closed to child 16 with abortive shutdown (server <domain>:443)
[Sun Mar 21 16:15:21.167462 2021] [ssl:info] [pid 1263] [client ?2):0] AH01998: Connection closed to child 17 with abortive shutdown (server <domain>:443)
[Sun Mar 21 16:15:21.169270 2021] [ssl:info] [pid 1264] [client ?x}:0] AH01998: Connection closed to child 18 with abortive shutdown (server <domain>:443)
其中客户端 IP 值是随机的...x}、?x}、?v} 等等。
应用程序的日志文件中没有任何奇怪的内容。
我该如何解决这个问题?
答案1
中止关闭消息仅表示 SSL 会话未通过正常过程终止 - 因此格式错误的客户端或机器人等可能只是放弃了连接。这通常表示某种客户端问题。除非有大量此类问题,并且用户报告问题,否则这可能不是您的原因。
为了进一步排除故障...
崩溃发生时 dmesg 显示什么?
这些事故有规律吗?
有任何 cron 作业正在运行吗?
重新启动失败的 Apache 服务之前系统资源是什么样的?
您是否已将日志设置为完整调试以查看其内容?