2016-09-26 3 views
0

私はRubyの学習を始めたばかりの初心者です。 私は自分のコンピュータ上でWebサーバーを起動するRubyファイルを実行する必要があるRubyチャレンジを行っています。まず、私はコマンドを使用して、コマンドラインでこのアプリケーションを実行します。Faraday :: SSLError at/callbackハンドシェイクアラート:unrecognized_name

ルビーapp.rb

その後、私は自分のローカルサーバに自分のブラウザにアクセスするには、このURLを貼り付け:この上に

http://localhost:4567

をローカルWebページ私は認証されるべきインターネット上のWebサーバーに接続するリンクをクリックします。この瞬間までにすべてがうまくいくが、認証中にエラーが出る。承認中にエラーがなければ、アプリケーションはインターネットサーバーからプロファイルデータを取得します。これは私が得るエラーです:

ファラデー:: SSLErrorで/コールバック ハンドシェイクアラート:unrecognized_name。

私はこの問題を2日間解決しようとしています。私がやったこと:

1)私はこのエラーが何とかJavaに接続されていると思います。私は、Java(6,7,8)のすべてのバージョンでこのアプリケーションを実行しようとしました。これは、より高いJavaバージョンに更新したときに同じ問題を抱えていると言いました。残念ながら、Rubyの私のバージョンはJava 6を受け付けません。

2) "handshake alert:unrecognized_name"エラーについては、Stackoverflowの20の類似ポストと同じです。 jsse.enableSNIExtensionプロパティを設定することを推奨します。しかし、私はこれらの回答のどれか、具体的にはこのコードをどこに適用するのか理解できませんでした。それから、私はこのリンクhttps://community.jivesoftware.com/docs/DOC-140837を見つけ、Javaコントロールパネルを開くことを勧めました(私はシステム環境設定のJavaでそれを行いました)。私はJavaのタブをクリックしてViewをクリックし、Runtime Parametersに "-Djsse.enableSNIExtension = false"を追加して適用しました。

3)もう1つの解決策が見つかったDisable SNI Extension for Ruby net/http - Using IP address with SSL/TLS(答えはZebGirで与えられます)。私の.rvmファイル、または私のシステム全体で* http.rbファイルが見つかりませんでした。

私の問題については、可能な解決策を示すヒントまたはリンクをお知らせください。 私のシステムはMac OS X El Capitanです。 RVMバージョン1.27 Javaバージョン1.8。

答えて

0

ファラデーライブラリのssl設定を無効にしましたか?私はすべての私のシステム内の任意のファラデーライブラリが表示されていないhttps://github.com/lostisland/faraday/wiki/Setting-up-SSL-certificates

+0

1):

connection = Faraday.new 'https://example.com', :ssl => false 

も参照してください:ような何か。または、私は何か間違っているのでしょうか? 2)あなたが送ったリンクを確認しました。私はこのパスをca_path変数として含めるようにファラデーイニシャライザを変更しようとしましたが、フォルダ/システム/ライブラリ/ OpenSSL/certsは空です。/System/Library/OpenSSLには、/ certs、/ misc、/ private、およびopenssl.cnfファイルの3つのディレクトリと1つのファイルがあります。私はどこに置くべきかわからない:接続=ファラデー:: Connection.new 'https://encrypted.google.com'、:ssl => { :ca_path => "/ usr/lib/ssl/certs" }。私は何を誤解したのですか? – Wordworth

関連する問題