谁读取了ENV ['SSL_CERT_FILE']的值?

Geo*_*Geo 6 ruby openssl ruby-on-rails sinatra

我曾经收到以下错误:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
from C:/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:in `connect' 
Run Code Online (Sandbox Code Playgroud)

通过阅读之后这个,我发现,解决办法是从下载cacert.pem文件在这里.该帖子建议做这样的事情:

ENV['SSL_CERT_FILE'] = File.join(File.dirname(__FILE__),"cacert.pem")
Run Code Online (Sandbox Code Playgroud)

事实上,这解决了这个问题.但是,谁读的价值SSL_CERT_FILE?改变环境似乎不像是"Ruby方式".我正在寻找可以与Rails和Sinatra一起使用的解决方案.

Cha*_*etz 9

openssl库使用SSL_CERT_FILE环境变量.