1

ShopifyAPI をテストできるように、RoR を使用してアプリを作成しようとしています。パートナー管理ポータルで作成したプライベート アプリを使用しています。

生成されたパスワードを使用してセッションを作成しようとしました。セッションは有効のようです。

login_controller:

    def index
    debugger
    sess = ShopifyAPI::Session.new('a75999989b7715f73ae5273497b9bfcb:9eb9f578d9fcfd753713e079@mante-hudson7934.myshopify.com', '9eb9f578d9fcfd753713e0795')
    sess.valid?
    session[:shopify] = sess        
      flash[:notice] = "Logged in"
      redirect_to return_address
      session[:return_to] = nil
  end

しかし、すべての商品を取得しようとすると (products = ShopifyAPI::Product.find(:all, :params => {:limit => 10})

私は500エラーで終わります。

これが私が持っているデバッグトレースです:

    1: ShopifyAPI::Base.site = https://a75999989b7715f73ae5273497b9bfcb:9eb9f578d9fcfd753713e079596d4fbd@mante-hudson7934.myshopify.com/admin/
~/.rvm/gems/ruby-1.9.3-p194@rails328/gems/shopify_app-4.0.0/lib/shopify_app/login_protection.rb:9
ShopifyAPI::Base.clear_session

ブラウザには例外があります:「ピアによる接続のリセット - SSL_connect」

どうやら私のセッションに問題があるようです...

不足しているものはありますか?

ありがとうございました

- 編集 -

実際、私は IRB 経由で製品を取得しようとしましたが、同じ 500 エラーで終了しました: "接続はピアによってリセットされました - SSL_connect"

なぜこのエラーが発生するのかわからないのですか?

レジス

4

2 に答える 2

2

ほとんどの場合、クライアントは、HTTPS で使用されている最新の SSL/TLS プロトコルの 1 つである TLS 1.2 を使用して接続しようとしています。私たちのロード バランシング ハードウェアには TLS 1.2 に関する既知の問題がありますが、私自身がこのバグに個別に遭遇するまでは認識していませんでした。

オペレーション チームの残りのメンバーにこのことを知らせました。できるだけ早くこれを修正する予定です。それまでは、

http.ssl_version = :TLSv1

代わりに Ruby に TLS 1.0 の使用を強制します。(一部のクライアントは、:SSLv3代わりに使用する必要がある場合があります。)

shopify_api以下は、 gem が内部的に使用する gem である ActiveResource にこの回避策を適用する方法の例です。

require 'active_resource/connection'

class ActiveResource::Connection
  def apply_ssl_options_with_ssl_version(http)
    apply_ssl_options_without_ssl_version(http)

    http.ssl_version = @ssl_options[:ssl_version] if @ssl_options && @ssl_options[:ssl_version]

    http
  end

  alias_method_chain :apply_ssl_options, :ssl_version
end

今、あなたは使用することができます

ShopifyAPI::Base.ssl_options = {:ssl_version => :TLSv1}

(または:SSLv3必要に応じて) 問題を回避します。

于 2012-10-31T18:14:43.533 に答える
1

私は確かにubuntu環境下にあります。私はちょうど窓の下で試しました、そしてそれは少なくともIRBコンソールで働くようです。あなたが言ったように、私はUbuntuとOpenSSLに問題があるかもしれません。このリードを調査します。ありがとうございました

-------編集-------macOS X LionでAPIに接続しようとしましたが、同じエラーが発生しました。Shopify APIに接続するのに苦労している人はいますか?それがopensslに関連している場合、これを回避する方法はありますか?

ありがとうございました

于 2012-09-02T17:07:29.613 に答える