如何使用预主密钥调试 nginx 和 Apache 后端之间的 SSL 流量?

如何使用预主密钥调试 nginx 和 Apache 后端之间的 SSL 流量?

我正在尝试排除 nginx(用作负载平衡器)在与我们的后端 Apache 应用程序服务器通信时记录的 502 Bad Gateway 错误。nginx 模块用于将proxy_passnginx 配置为 Apache 服务器集群的反向代理,当通过 捕获流量时,tcpdump我无法解密 nginx 和 Apache 之间的 HTTPS 通信,因为 Wireshark 中的密码套件是,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384而我没有临时 Diffie-Hellman 预主密钥。

(我试图调试的问题是“上游过早关闭连接,同时从上游读取响应头”,当出现Apache 日志中没有相应的错误,这让我怀疑是网络问题导致连接过早关闭,或者其他原因)

有没有办法让 Nginx 在通过 SSL 与后端通信时不获取 Diffie-Hellman 预主密钥proxy_pass?如果没有,有什么方法可以解密/调试此流量?

答案1

既然您可以控制这里的一切,为什么不将其更改为纯文本 HTTP 连接并尝试重复该问题呢?

或者更改为更简单的非 DHE 密码。

相关内容