問題の概要 MechanizeでTLSv1を使用して暗号化通信するサーバー上のページにアクセスしようとすると、接続が切断されます。 再現コード require 'rubygems' require 'mechanize' agent = Mechanize.new agent.verify_mode = OpenSSL::SSL::VERIFY_NONE # 証明書の検証をしない(通常はこの行は不要) agent.get('https://www.hikari.ntt-east.net/AGT_Main.htm') # => Connection reset by peer $ ruby1.9.3 ng.rb /var/lib/gems/1.9.1/gems/net-http-persistent-2.8/lib/net/http/persistent/ssl_reuse.rb:70:in
さて、皆さん割と homebrew で openssl 入れて brew link しちゃってる人も多いと思います。そんな環境でその openssl を使って Ruby をコンパイルすると、OpenSSL 利用時に証明書エラーが発生します。 $ pry [1] pry(main)> require 'open-uri' => true [2] pry(main)> open('https://www.google.com/').read OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed from ~/.rbenv/versions/2.0.0-rc2/lib/ruby/2.0.0/net/http.rb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く