访问pola-rs Github Pages文档遇SSL错误,请求定位问题根源
访问pola-rs文档时的SSL协议错误排查
我尝试打开pola-rs的文档网站时,浏览器返回SSL错误:
This site can’t provide a secure connection
pola-rs.github.io sent an invalid response.
ERR_SSL_PROTOCOL_ERROR
于是我用curl命令加--verbose参数访问该文档地址,得到如下错误:
$ curl https://pola-rs.github.io/polars-book/ --verbose * Trying 185.199.111.153:443... * Connected to pola-rs.github.io (185.199.111.153) port 443 (#0) * ALPN: offers h2 * ALPN: offers http/1.1 * CAfile: /etc/ssl/cert.pem * CApath: none * (304) (OUT), TLS handshake, Client hello (1): * error:1404B42E:SSL routines:ST_CONNECT:tlsv1 alert protocol version * Closing connection 0 curl: (35) error:1404B42E:SSL routines:ST_CONNECT:tlsv1 alert protocol version
换用conda-forge提供的另一版本OpenSSL测试,得到相似但不同的错误:
$ curl https://pola-rs.github.io/polars-book/ --verbose * Trying 185.199.111.153:443... * Connected to pola-rs.github.io (185.199.111.153) port 443 (#0) * ALPN: offers h2 * ALPN: offers http/1.1 * CAfile: /opt/homebrew/Caskroom/miniforge/base/envs/nextstrain/ssl/cacert.pem * CApath: none * [CONN-0-0][CF-SSL] TLSv1.3 (OUT), TLS handshake, Client hello (1): * OpenSSL/1.1.1t: error:1408F10B:SSL routines:ssl3_get_record:wrong version number * Closing connection 0 curl: (35) OpenSSL/1.1.1t: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
请问这个问题是Github Pages部署端的问题,还是我这边操作或环境的问题?
问题分析
- 这类SSL协议版本错误,大概率是本地环境的TLS协议支持与服务端不兼容,而非Github Pages部署端的问题。
- Github Pages服务端默认支持TLS 1.2及以上版本,若本地curl/浏览器使用的SSL库版本过旧,或被配置为仅使用已废弃的低版本TLS(如TLS 1.0/1.1),就会出现握手失败。
- 第二个错误中的
wrong version number也指向协议版本不匹配:虽然客户端尝试用TLSv1.3握手,但本地SSL库的配置或版本可能存在兼容性问题,导致服务端无法正确识别握手请求。
排查建议
- 检查浏览器TLS设置:确保浏览器启用了TLS 1.2和TLS 1.3(可在浏览器安全设置中调整)。
- 更新OpenSSL和curl版本:旧版本SSL库可能不支持服务端要求的TLS版本,升级到最新稳定版可解决多数兼容性问题。
- 排查网络环境:部分代理或防火墙可能拦截/修改TLS握手包,尝试关闭代理、切换网络(如手机热点)测试。
内容的提问来源于stack exchange,提问作者Cornelius Roemer
相关产品推荐
相关产品推荐

