perl - SSL23_GET_SERVER_HELLO :unknown protocol while running perl script

标签 perl ssl lwp

@Steffen:我会检查脚本部分。 我刚刚注意到 wget 命令服务现在 url 无法建立 SSL 连接

[root@XXXX rpms]# wget <a href="https://testuser:testpwd.service-now.com/u_incident_interface.do" rel="noreferrer noopener nofollow">https://testuser:testpwd.service-now.com/u_incident_interface.do</a> --2018-06-10 13:00:07-- <a href="https://srv_SOAPimporterNagios" rel="noreferrer noopener nofollow">https://srv_SOAPimporterNagios</a>:<em>password</em>@rwe.service-now.com/u_incident_interface.do Resolving rwestproxy-neurathdc.rwe.com... 10.88.253.20 Connecting to rwestproxy-neurathdc.rwe.com|10.88.253.20|:8080... connected. <strong>Unable to establish SSL connection.</strong> [root@XXXX rpms]#

您能就 SSL 连接问题提出建议吗?

最佳答案

TL;DR:服务器正在响应普通流量而不是预期的 TLS。造成这种情况的原因可能是对客户端的错误期望、错误配置或旧的错误软件。

SSL connect attempt failed error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

unknown protocolSSL_ERROR_RX_RECORD_TOO_LONGwrong version number 之类的错误通常发生在其他设备根本无法正确使用 SSL 的情况下。这意味着客户端正在启动与 ClientHello 的 TLS 握手,而服务器正在响应一些根本不像 SSL/TLS 的东西。客户端仍然会尝试将非 TLS 答案解释为 TLS,因此会提示一些奇怪的 TLS 版本或一些损坏的 TLS 记录。

如果有人试图使用 HTTPS 与普通 HTTP 服务器通信,通常会发生这种情况。这可能是因为服务器一开始就没有为 HTTPS 配置,并且错误地假设将 URL 从 http:// 更改为 https:// 将神奇地使服务器 HTTPS 准备就绪。也可能是那个人在服务器上访问了错误的端口,即纯 HTTP 端口而不是 HTTPS 端口。在某些情况下,由于服务器配置错误仅使用纯 HTTP,而配置看起来应该使用 HTTPS - 如 this question .或者它可能是因为错误的代理配置,即 假设代理将通过 HTTPS 访问 其中它通过普通 HTTP 访问,即使对于像 in this question 这样的 HTTPS URL .

如果服务器在切换到 TLS 之前需要一些初始纯数据,也会发生这种情况。例如,当使用代理连接到最终目标时。在 HTTP 代理的情况下,客户端需要先发送一个普通的 HTTP CONNECT 请求,从服务器读取普通的 HTTP 响应并检查是否成功,然后才能开始 TLS 握手。例如,如果您使用 旧版本的 LWP,就会发生这种情况,因为 6.00 和 6.06 之间对 HTTPS 的代理支持已中断。

关于perl - SSL23_GET_SERVER_HELLO :unknown protocol while running perl script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50761495/

相关文章:

linux - 从 bash 脚本运行时 Perl "use: command not found"

perl - 将文件句柄与 IO::Select::can_read() 返回的 glob 进行比较

node.js - Node 中使用 SSL 的 SOAP 请求

ssl - kubernetes + 入口 Controller + letsencrypt + 阻止的混合内容

perl - 如何在不使用 :content_file option? 的情况下将响应作为文件处理

linux - Perl 一个衬垫可以在具有特殊字符的许多不同值上匹配路径中的精确单词

regex - 使用 perl 增加文本文件中的数字

windows - 只允许用户运行指定证书的程序(Windows)

perl - 我可以强制 LWP::UserAgent 接受过期的 SSL 证书吗?

Perl LWP::从 Ubuntu 服务器简单获取失败,但本地计算机失败