2017-09-27 15 views
1

RailsアプリケーションをRails 4.1.1からRails 5.1.4にアップグレードしています。 私は2つのアプリケーションを持っています、1つはWebアプリケーション(angularのために使用しています)、そして他はAPIアプリケーションです。CORSのアップグレードに関する問題Rails 4 to Rails 5

私がやっていることは、Web app(Rails with Angular)からのリクエストとAPI appからのデータの取得です。私はWeb appからのリクエストを送信する場合でも、エラー下記しまっ:

http://api.myapp:3001/userロードに失敗しました:アクセス制御チェックに合格しない 要求をプリフライトへの応答を: 「アクセス制御 - 許可 - 起源」の値を要求の資格情報モードが 'インクルード'の場合、応答のヘッダーは ワイルドカード '*'であってはなりません。 Origin 'http://myapp:3000'はアクセスできません。資格情報 XMLHttpRequestによって開始された要求のモードは、 withCredentials属性によって制御されます。 google問題の後

http://myapp:3000' -> Web application and request sending to API 

http://api.myapp:3001/user -> API application to send response 

、私は1個の宝石がrack-cors呼ばれました。 は、WebおよびAPIの両方のアプリケーションでは、私は

config.middleware.insert_before 0, Rack::Cors do 
    allow do 
    origins '*' 
    resource '*', :headers => :any, :methods => [:get, :post, :options] 
    end 
end 

しかし、まだ問題を得る

を追加しました。私にお知らせください。

+0

https://stackoverflow.com/questions/19743396/cors-cannot-use-wildcard-in-access-control-allow-origin-when-credentials-flag-i – max

+0

あなたの回答は[this](https://stackoverflow.com/questions/17858178/allow-anything-through-cors-policy)だと思います。 –

+0

@max - 両方の提案を試みましたが、うまくいきませんでした。 –

答えて

0

まあ、メッセージ:

要求の資格情報モードがある場合の応答の「アクセス制御 - 許可 - 起源」ヘッダーはワイルドカード「*」であってはならないの値「を含みます」]

Angularアプリケーションから資格情報を送信していて、ドメインがホワイトリストに登録されていないようです。テストのために、withCredentialsをfalseに設定したり、ドメインを許可したりすることができます。

これはあなたを助けることができる:http://50linesofco.de/post/2017-03-06-cors-a-guided-tour

関連する問題