gpt4 book ai didi

ssl - NGINX 中的 gnutls 和 openssl 握手

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:34 24 4
gpt4 key购买 nike

我正在 NGINX 中测试 SSL/TLS 流代理,它将使用 gnutls 作为底层 TLS API 连接到网络服务器。使用gnutls中的命令行测试工具(gnutls-serv)整个过程都可以,但是看不懂其中的逻辑:

NGINX 客户端(代理从实际客户端到 gnutls 服务器的 HTTP 请求)似乎想要多次握手连接。事实上,在大多数测试中,在服务器响应测试网页之前,似乎握手 3 次没有错误。使用 wireshark,或者只是调试消息,看起来客户端的套接字(从 gnutls 服务器的角度来看)正在关闭并在不同的端口上重新打开。最后在成功连接时,gnutls 使用恢复 session ,我想这是前面提到的成功握手之一。

我没能找到关于这种行为的任何文档,我想知道这是否只是“NGINX 问题”。

虽然握手最终与测试程序一起工作,但它似乎有点浪费(多次昂贵的握手)并且在非测试环境中实现握手逻辑将是棘手的,而不真正了解客户端正在尝试做什么。

我不认为在传输上发生任何超时或问题,测试环境是同一子网上的几个不同的虚拟机连接在 1 个交换机之间。

NGINX版本是最新的主线:1.11.7。我最初使用的是 1.10.something,虽然有更多传输错误,但行为相似。这些错误似乎通过升级得到了很好的清理。

非常感谢来自其他人的任何信息或经验!

最佳答案

在 NGINX 和后端服务器之间使用 RSA key 交换或使用 SSLKEYLOGFILE LD_PRELOAD 为 NGINX 提供 Wireshark 解密数据所需的数据。

虽然单个传入连接应该只生成一个传出连接,但 NGINX 中可能会进行一些优化以获取常见文件(favicon.ico、robots.txt)。

关于ssl - NGINX 中的 gnutls 和 openssl 握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41189962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com