0

Rails APIの最新のwebpackとREST APIのpublicClient.getProducts()メソッドを呼び出すと、Rails 5.1アプリケーション内にVue.jsテンプレートがあります。しかし、WebSocket接続を購読すると、以下のような問題が発生します。Rails 5.1からWebsocketをサブスクライブするVue.js webpack

"クロスオリジン要求がブロックされました:同じオリジンポリシーでリモートリソースを読み取ることができませんhttps://ws-feed.gdax.com/(原因:CORSヘッダー 'Access-Control-Allow-Origin'がありません)。

ご協力いただきまして誠にありがとうございます。

要旨:https://gist.github.com/nengine/e216c080988fca7cf4c3aa26f388f236

答えて

1

エラーメッセージは、あなたのAPIサーバーをお使いのフロントエンドコードvue.js.を務めたドメイン(質問に指定されていない)とは異なるドメイン(https://ws-feed.gdax.com/)に位置していることが明らかになりましたブラウザはsecurity mechanismのような要求を防ぎます。

サーバは、cross origin resource sharingを許可するために、Access-Control-Allow-Origin: [frontend domain]ヘッダーを送信する必要があります。

これだけの設定が可能なrails pluginsがあります。

+0

Rails 5.1 vue.jsクライアントアプリケーションは、開発のためにローカルホスト上にあります。私はgdaxの開発チームからgdaxクライアントをWebページに埋め込むことは今サポートされていないと言われていたので、すべてのリクエストをプロキシする必要があります。それはどういう意味かはっきりしていませんが、express.jsサーバー側のアプリケーションからウェブソケットを開くのに問題はありません。ありがとうございました。 – amj

関連する問題