web-dev-qa-db-ja.com

Cross-Origin Request Blocked:Same Origin Policyは、リモートリソースの読み取りを禁止しています

私は私のウェブサイトでCometChatを使用していますが、最近、ユーザーはメッセージの受信でこの問題を抱えています。 FireBugで検査した後、スクリプトが失敗しているのはCORS保護(次のエラーによる)が原因であるに違いないことに気付きました。

Cross-Origin Request Blocked:Same Origin Policyは、 http://x3.chatforyoursite.com/subscribe/ ...でリモートリソースの読み取りを許可しません。これは、リソースを同じドメインに移動することで修正できます。またはCORSを有効にします。

今、CORSは自分のサーバーで有効になっており、CometChatサーバーにアクセスできないため、どこでCORSを有効にする必要があるのか​​疑問に思っています。

23
Hamed Momeni

x3.chatforyoursite.comのサーバーは、次のヘッダーを出力する必要があります。

Access-Control-Allow-Origin: http://www.example.com

ここで、http://www.example.comはWebサイトのアドレスです。 chatforyoursite.comの設定をチェックして、これを有効にできるかどうかを確認する必要があります。そうでない場合は、おそらく技術サポートがこれを解決する最良の方法でしょう。ただし、質問に答えるには、サイトがAJAX応答クライアント側にアクセスできるようにするリモートサイトが必要です。

33
SilverlightFox

CORSのユースケースは簡単です。サイトalice.comに、サイトbob.comがアクセスしたいデータがあると想像してください。このタイプのリクエストは従来、ブラウザの同じOriginポリシーでは許可されていませんでした。ただし、CORS要求をサポートすることにより、alice.comはbob.comがデータにアクセスできるようにするいくつかの特別な応答ヘッダーを追加できます。それをよく理解するには、このニースチュートリアルをご覧ください。 CORSの問題の解決方法

6
user2903536