尝试连接到 github 时出现以下错误:
curl -vLk https://api.github.com/rate_limit
* Trying 140.82.121.6:443...
* Connected to api.github.com (140.82.121.6) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
这是在运行 rasbian bullseye 的树莓派上。
在同一网络上我的其他客户端上,运行 Ubuntu 22.04,一切正常。
我确实相信 openssl 版本足够好:
python -c 'import ssl; print(ssl.OPENSSL_VERSION)'
OpenSSL 1.1.1n 15 Mar 2022
任何想法如何解决这个问题?
IP 地址正确。
这意味着使用了支持 TLS 1.3 的最新 TLS 堆栈。输出是 curl 的 OpenSSL 后端的典型输出。到目前为止看起来不错。
在大多数情况下,此错误消息具有误导性。我怀疑您的网络中有某些东西拦截流量并使用非 TLS 答案进行回复,然后将其解释为 TLS,因此在(非 TLS)回复中发现了意外的 TLS 版本。
造成这种情况的典型原因是错误的代理配置、强制门户或网络中的类似内容或防火墙阻止连接。不幸的是,对于你运行这个树莓派的环境一无所知,所以很难给出更准确的原因。无论如何,问题很可能出在您的机器之外。
编辑:提供的数据包捕获反映了我的预期:
可以看出,对 TLS Client Hello 的回复是以下纯 HTTP 响应:
这是一个基于刷新的重定向到(可能)路径为
/shn_blocking.html
. 在 Internet 上搜索此路径表明这是某些 TP-Link 路由器的功能,可以阻止网站进行家长控制 - 请在此处查看有关特定路由器 TP-Link Deco 的此功能的信息。您可能需要在路由器中专门排除您的树莓派,以便它获得未经过滤的互联网访问。