gpt4 book ai didi

Perl LWP GET 或 POST 到 SNI SSL URL

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

我有一个使用 perl LWP 向客户发送数据的系统。他们可以选择他们的 URL 以及是 POST 还是 GET。

一位新客户最近提示该服务无法正常工作,他们怀疑这是因为他们的端点使用了 SNI SSL。

查看日志,我只看到错误消息“(证书验证失败)(500 次读取超时)”。

有什么方法可以判断这个问题是因为他们的 SNI SSL 还是其他原因?我想我可以通过关闭 verify_hostname 来解决问题,但这是最后的手段,我宁愿让它正常工作。

我还应该采取哪些其他步骤?

最佳答案

SNI 是否有问题取决于您使用的模块及其版本:

  • LWP 从 6.0 版开始使用 IO::Socket::SSL 作为后端 SSL 库。在此之前,它使用不支持 SNI 的 Crypt::SSLeay,您仍然可以强制使用 Crypt::SSLeay。但是,虽然这可能会导致服务器返回错误的数据,但在大多数情况下应该不会导致验证问题,因为 Crypt::SSLeay 不会验证证书中的名称是否与请求的主机名匹配(因此不会检测到人-中间攻击)。
  • IO::Socket::SSL 自版本 1.56 (02/2012) 起在客户端执行 SNI,但您至少需要 OpenSSL 版本 1.0。由于在与某些服务器交互时 OpenSSL 中存在错误,因此禁用了对旧版本的支持。

您可以尝试在运行代码时通过设置 $IO::Socket::SSL::DEBUG=4 来调试问题。

关于Perl LWP GET 或 POST 到 SNI SSL URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25533285/

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