【发布时间】:2023-01-19 00:32:16
【问题描述】:
我的应用程序正在向 API 发送请求,该 API 现在已开始返回 OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=error: wrong version number) 错误。我从 https://www.cdn77.com/tls-test 查到 API 支持 TLS1.2 和 TLS1.3,这是应该的。
我尝试使用http.ssl_version="TLSv1_2" 强制我的应用程序使用 TLS1.2,但我仍然遇到相同的 SSL 错误。
我可以在我的服务器上使用 curl 成功地向该 API 发出请求,但不能使用 Ruby。
我检查了openssl s_client -connect eu2.api.concursolutions.com:443 -tls1_2,看起来没问题。至少它看起来与 openssl s_client -connect us2.api.concursolutions.com:443 -tls1_2 相同,并且我可以从 Ruby 请求该端点。
我在 Rails 控制台中尝试了 http.set_debug_output($stdout),但它无法提供任何有用的信息,只是:
opening connection to eu2.api.concursolutions.com:80...
opened
starting SSL for eu2.api.concursolutions.com:80...
Conn close because of connect error SSL_connect returned=1 errno=0 state=error: wrong version number
任何人有想法尝试什么?来自 curl 和 Postman 的请求正在运行,所以问题必须在我这边。
【问题讨论】: