0

Rack-cors ( https://github.com/cyu/rack-cors ) を使用する前は、Rails アプリと JS フロントエンド アプリで CORS に問題がありました。

JS フロントエンド アプリは、Rails アプリのサブドメインになります。したがって、本番環境でこの問題が発生することはありません。ただし、ローカルでは、次のサーバーでフロントエンド アプリを実行しています。

python -m SimpleHTTPServer

次に、経由でアクセスしhttp://dashboard.lvh.me:8000ます。すべての呼び出しは、バックエンド Rails アプリに対して行われapi.lvh.me:3000ます。

CORS を処理せずにリクエストを実行すると、CORS エラーが発生します。両方が同じサブドメイン (lvh.me) にあるのに CORS エラーが発生するのはなぜですか? これはすべてのブラウザで発生しました。

なぜラックコアを使用する必要があるのですか? これは本番環境でも発生しますか? 今、私はただ走っていrails sます。nginx を使用している場合、両方が同じドメインにあるが異なるサブドメインにある場合、これはなくなりますか?

4

1 に答える 1

2

ポート番号を含め、ドメイン全体に同じオリジン ポリシーが適用されます (IE を除く)。dashboard.lv.me:8000 から api.lv.me:3000 へのリクエストの送信は、クロスオリジン リクエストです。実際、これらはクロスオリジン呼び出しでもあります。

  • ダッシュボード.lv.me:8000 -> ap.lv.me:8000
  • ap.lv.me:8000 -> ap.lv.me:3000 (IE を除く)
于 2013-08-23T14:16:16.600 に答える