2012-01-12 15 views
2

REST APIを使用し、同じオリジンポリシーセキュリティ機能を迂回する方法を探しているWebアプリケーションを構築したいと考えています。サブドメインajaxを呼び出す

私たちは、SERVER_1からapi.ourdomain.comから提供されるREST APIを持っています。 SERVER_2のdashboard.ourdomain.comのサーバーであるWeb Appがあります。

Webアプリケーションは、GET、POST、DELETE、およびPUT要求を含むajax呼び出しを使用してREST APIと通信します。

将来的には、サードパーティのサイトが自分のサイトとドメインからAPIにアクセスできるようにすることも考えられます。

ブラウザの同じ発信元ポリシーのセキュリティ機能により、これらの要求は許可されません。

私たちはこれを回避する方法を探しています。私たちが遭遇した

ソリューション:

  1. 私たちのプロキシ経由でリクエストをトンネル。これにより、アプリの処理速度が低下し、より多くのリソースが必要になります。
  2. JSONP - GET要求に対してのみ機能します。ポスト/プット/削除機能を使用してGETリクエストをオーバーロードすることは望ましくありません。
  3. 同じドメインにdocument.domainを設定したiFrameを使用する。 ourdomain.comのサイトでのみ動作します。
  4. EasyXDMなどのフレームワーク。良い解決策のようだ。

ありがとうございました!

答えて

1

EasyXDMは分かりませんが、複数のアプリケーションで同じアーキテクチャーを使用しています。私たちはあなたの提案する解決策(1)を使用します。私の意見では、共通のサブドメインを介して要求を代理することが最もクリーンな解決策です。私はこれがパフォーマンスの問題だとは思わない。多くのサイトでは、何らかのリバースプロキシをキャッシュとして使用するために、nginxのようなものを使用しています。 http:// [yourhost]/apiを介して簡単にAPIをトンネリングし、残りのHTML、CSS、およびイメージリソースは他のパスを使用して簡単にトンネリングすることができます。