Rails和SSL_CERT_FILE OS X.

时间:2011-06-14 08:23:39

标签: ruby-on-rails macos github openssl

使用远程位置的模板创建新的rails应用程序时遇到一些问题,例如需要进行ssl认证检查的github。我正在使用带有ruby1.9.2和openssl的雪豹,两者都安装了macports。

rails new rails_mongo -m https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-mongoid-devise-template.rb

将导致:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

所以为了避免这个问题,我使用SSL_CERT_FILE变量运行rails:

SSL_CERT_FILE=/opt/local/share/curl/curl-ca-bundle.crt rails new rails_mongo -m https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-mongoid-devise-template.rb

要保持此设置,我在.bash_profile中设置了SSL_CERT_FILE变量,并且echo确认该变量具有正确的值:

echo $SSL_CERT_FILE
/opt/local/share/curl/curl-ca-bundle.crt

但是,如果我再次运行rails,证书检查将失败,我不明白为什么? 如果没有在任何地方设置OpenSSL :: SSL :: VERIFY_NONE,还有其他方法可以避免这个问题吗?

(像git这样的其他应用程序一直很好)

由于

1 个答案:

答案 0 :(得分:1)

你可能已经解决了这个问题,但你还记得:

export SSL_CERT_FILE=/opt/local/etc/openssl/cert.pem

因为rails将与bash shell分开运行,因此需要导出env vars(简单的东西,但如果它是深夜而你的头脑sooo不想解决另一个rails环境问题那么它可能会被忽略!)