gpt4 book ai didi

ruby-on-rails - 有效证书上的 Rails SSL 证书错误

转载 作者:行者123 更新时间:2023-12-04 12:30:33 24 4
gpt4 key购买 nike

我有一个小型 Rails 应用程序,可以在我们的平台上执行各种检查,并在出现问题时向我发送电子邮件。一切都运行良好,直到今天我开始收到有关以下错误的警报:

SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate has expired)
现在的问题是有问题的证书是有效的,它会自动更新(让我们加密),并且这段代码几年来一直没有受到影响,之前从未出现过任何问题,突然这开始发生。
抛出异常的代码:
def get_request url
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

#more than 10 seconds this is too slow
http.open_timeout = 10
http.read_timeout = 10

request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)

if response.code.to_i == 200
return true
else
puts "Failed to GET #{url}: #{response.code.to_i}"
return false
end
end
如果我在浏览器中打开该站点,它会显示没有问题的安全连接,并显示正在使用有效证书,此外,如果我检查 certbot我得到以下信息: Expiry Date: 2021-11-22 17:48:58+00:00 (VALID: 52 days)很明显证书是有效的,为什么 Rails 突然对它发脾气?
请注意,我已经重新启动了 Nginx 以防万一,这没有帮助。
附加信息:Ubuntu 16.04.5、OpenSSL 1.0.2g 2016 年 3 月 1 日、Rails 4.2、Ruby 2.6.5
编辑:
此错误也会发生在不同的 url 上,该 url 也具有有效的证书。
编辑 2:
我已经隔离了这个问题,它与 Let's Encrypt DST Root CA X3 已过期有关。很多人都在处理这个问题,我会在找到解决方案后报告我的解决方案。

最佳答案

所以在阅读完这篇 long thread在 Let's Encrypt 社区中,我的案例的解决方案最终是删除 DST Root CA X3证书:

sudo rm /usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt
sudo update-ca-certificates
之后不再有来自 openssl 的错误。

关于ruby-on-rails - 有效证书上的 Rails SSL 证书错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69404785/

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