這是一個相當長的故事......但它基本上歸結爲其他人似乎都有的相同問題,除了我可以似乎沒有解決它。Ubuntu 12.04.1上的Ruby OpenSSL :: SSL :: SSLError/Ruby 1.9.3p0
我使用的是EC2 ami-3d4ff254,它是Ubuntu 12.04.1 LTS x64。我正在部署需要Ruby 1.93的Githubs Janky application,並且是一個Sinatra應用程序。
我的基本安裝在Ubuntu依賴的過程
sudo apt-get -y update
sudo apt-get -y install curl ssh git-core git build-essential zlib1g zlib1g-dev libyaml-dev libxml2-dev libc6-dev autoconf automake libtool make postgresql postgresql-client postgresql-contrib libpq-dev ruby1.9.3 ruby1.9.1-dev rubygems1.9.1 ruby-bundler openssl
我也跟着方向here確保1.9.3是默認的。
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.3 400 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz \
/usr/share/man/man1/ruby1.9.3.1.gz \
--slave /usr/bin/ri ri /usr/bin/ri1.9.3 \
--slave /usr/bin/irb irb /usr/bin/irb1.9.3 \
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.3 \
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.3 400
sudo gem install rubygems-update
這就是我的環境的基本設置。
工具版本Cmd的線驗證
ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
gem -v
1.8.11
openssl version
OpenSSL 1.0.1 14 Mar 2012
下面是該應用程序正在新貴下運行(如配置成通過工頭)Gemfile.lock的
GEM
remote: http://rubygems.org/
specs:
activemodel (3.2.8)
activesupport (= 3.2.8)
builder (~> 3.0.0)
activerecord (3.2.8)
activemodel (= 3.2.8)
activesupport (= 3.2.8)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activesupport (3.2.8)
i18n (~> 0.6)
multi_json (~> 1.0)
addressable (2.3.2)
arel (3.0.2)
broach (0.2.1)
json (~> 1.4)
nap (~> 0.3)
builder (3.0.4)
daemons (1.1.9)
eventmachine (1.0.0)
faraday (0.8.4)
multipart-post (~> 1.1)
faraday_middleware (0.9.0)
faraday (>= 0.7.4, < 0.9)
hashie (1.2.0)
hipchat (0.6.1)
httparty
httparty
httparty (0.9.0)
multi_json (~> 1.0)
multi_xml
i18n (0.6.1)
janky (0.9.13)
activerecord (~> 3.2.0)
broach (~> 0.2)
mustache (~> 0.11)
rake (~> 0.9.2)
replicate (~> 1.4)
sinatra (~> 1.3)
sinatra_auth_github (~> 0.7.0)
yajl-ruby (~> 1.1.0)
json (1.7.5)
mime-types (1.19)
multi_json (1.3.7)
multi_xml (0.5.1)
multipart-post (1.1.5)
mustache (0.99.4)
nap (0.5.1)
oauth2 (0.5.2)
faraday (~> 0.7)
multi_json (~> 1.0)
octokit (1.4.0)
addressable (~> 2.2)
faraday (~> 0.8)
faraday_middleware (~> 0.8)
hashie (~> 1.2)
multi_json (~> 1.3)
pg (0.14.1)
rack (1.4.1)
rack-protection (1.2.0)
rack
rake (0.9.2.2)
replicate (1.5)
rest-client (1.6.7)
mime-types (>= 1.16)
sinatra (1.3.3)
rack (~> 1.3, >= 1.3.6)
rack-protection (~> 1.2)
tilt (~> 1.3, >= 1.3.3)
sinatra_auth_github (0.7.0)
rest-client (~> 1.6.1)
sinatra (~> 1.0)
warden-github (~> 0.7.0)
yajl-ruby (~> 1.1)
thin (1.5.0)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
tilt (1.3.3)
tzinfo (0.3.35)
warden (1.2.1)
rack (>= 1.0)
warden-github (0.7.0)
json (~> 1.5)
oauth2 (~> 0.5.2)
octokit (~> 1.4.0)
rest-client (~> 1.6.1)
warden (~> 1.0)
yajl-ruby (~> 1.1)
yajl-ruby (1.1.0)
PLATFORMS
ruby
DEPENDENCIES
hipchat (~> 0.4)
janky (~> 0.9)
pg
thin
的內容
一切似乎與應用程序完全合作,除了必須與https網站建立外部連接。它與可怕的OpenSSL::SSL::SSLError - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed:
死亡的證書文件
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
我已經嘗試了一些猴子補丁建議,我已經試過出口的變量。
我還可以在OpenSSL的CMD線連接到網站,所以這並不似乎是一個系統問題,只是一個Ruby的問題(據我可以告訴)
openssl s_client -connect my.jenkins.site:443
這是一個交叉帖子,但是這個傳奇在Janky issue tracker上還有很多細節,包括Ruby爆炸的調用堆棧等。
如果任何人有任何偉大的想法,我很難過! (我想下一個選擇是嘗試使用RVM,我對此一無所知)。
感謝您指向[rbenv]( https://github.com/sstephenson/rbenv#readme),非常有幫助。 –