在 Apache 完成 HTTPS 命中之前记录它们

在 Apache 完成 HTTPS 命中之前记录它们

我有一个通过 HTTPS(通过 Apache)提供的 SVN 存储库。好吧,有些请求似乎会导致 SVN 服务器崩溃并消耗 100% 的 CPU。我说“似乎”是因为 SVN 服务器在 Apache 记录连接之前就崩溃了,所以我看不到正在访问的 URL。客户端是 IntelliJ,据我所知,它无法准确记录发送给我的内容。

我该如何调试它?我知道有人在 IntelliJ 中点击了什么让服务器崩溃,但我真的很想看到确切的查询。Apache 是否有一些选项可以让它在请求完成之前记录请求?或者......?

答案1

您可以尝试加载mod_statusApache 模块来监视正在发生的请求。

在您的文件中httpd.conf添加以下内容并重新启动 Apache。然后您应该能够查看http://server/server-statusApache 正在处理的内容。

LoadModule status_module modules/mod_status.so 
ExtendedStatus On

<Location /server-status>
    SetHandler server-status`
</Location>

答案2

您可以尝试使用 SSL Dump 嗅探 SSL 连接并使用私钥解密流量。

如果与 OpenSSL 链接,ssldump 可以显示解码形式的证书并解密流量(前提是它具有适当的密钥材料)。同样,OpenSSL 可能已安装在您的系统上。否则,您可以从http://www.openssl.org

http://www.rtfm.com/ssldump/

Wireshark 也可以做到这一点。

相关内容