Ruby 严重的SSL证书错误发生在Rails控制器中,但不在控制台中

Ruby 严重的SSL证书错误发生在Rails控制器中,但不在控制台中,ruby,ruby-on-rails-3.2,openssl,Ruby,Ruby On Rails 3.2,Openssl,这个错误只是在不同的时间不断出现。这绝对令人恼火,而且会降低生产率 这是rvm ruby-1.9.3-p392和Rails 3.2.13,以及Pow 在控制台中,此命令起作用: response = Net::HTTP.start(url.host, url.port, :use_ssl => url.scheme == 'https') {|http| http.request(request)} 从控制器访问时,完全相同的命令失败,并出现以下错误: SSL_connect retur

这个错误只是在不同的时间不断出现。这绝对令人恼火,而且会降低生产率

这是
rvm ruby-1.9.3-p392
Rails 3.2.13
,以及
Pow

在控制台中,此命令起作用:

response = Net::HTTP.start(url.host, url.port, :use_ssl => url.scheme == 'https') {|http| http.request(request)}
从控制器访问时,完全相同的命令失败,并出现以下错误:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我已经看到了很多关于这个错误的帖子和答案。有很多答案,因为使用的技术堆栈非常脆弱,因为有许多移动部件和证书文件的许多不同位置。然而,我还没有明白为什么它在Rails控制台中工作,而在Rails控制器中却失败了。有人见过这样的东西吗?

为什么它在控制台中工作而在控制器中不工作仍然是个谜。但有这么多的活动部件,我决定放弃原来的rvm安装,重新开始

许多使用Mac环境已有一段时间的人过去都使用过MacPorts。有些人,像我一样,已经转向自制了。但我同时维护这两个库,因为有些库我无法在自制中获得,而只能从MacPorts获得。我尽量避免从源头上进行建设,因为我过去也曾陷入过类似的依赖地狱,我需要依靠比我更聪明的人

我所做的是将rvm设置为只使用自制软件,这是我以前从未做过的:

rvm autolibs homebrew
这首先需要一个自制更新:

brew update
但它会告诉你是否需要这样做,或者自动为你做

然后我做了:

rvm install 1.9.3
这是从源代码构建的Ruby 1.9.3-p429,因为没有可用的二进制文件

我在几个不同的地方(MacPorts和Homebrew homes)安装了OpenSSL,所以这可能是我最初问题的一部分

安装顺利进行。我在1.9.3下重新创建了我的原始gemset,并创建了相应的
.rvmrc
文件

现在
SSL\u connect
错误消失了