2012-01-12 8 views
2

우리는 REST API를 사용하고 같은 출처 정책 보안 기능을 우회하는 방법을 찾고있는 웹 앱을 만들고 싶습니다.하위 도메인 아약스 교차

우리는 SERVER_1의 api.ourdomain.com에서 제공되는 REST API를 보유하고 있습니다. 우리는 SERVER_2에서 dashboard.ourdomain.com의 서버 인 웹 응용 프로그램을 가지고 있습니다.

웹 응용 프로그램은 GET, POST, DELETE 및 PUT 요청을 포함하는 ajax 호출을 사용하여 REST API와 통신합니다.

앞으로는 제 3 자 사이트가 자체 사이트 및 도메인에서 API에 액세스 할 수 있도록 허용하는 것도 고려할 수 있습니다.

브라우저의 동일 원산지 정책 보안 기능으로 인해 이러한 요청은 허용되지 않습니다.

우리는 이것을 피할 방법을 찾고 있습니다.

솔루션은 우리가 발생했습니다 :

  1. 는 우리의 프록시를 통해 요청을 터널링. 이렇게하면 앱이 느려지고 더 많은 리소스가 필요합니다.
  2. JSONP - GET 요청에만 작동합니다. POST/put/delete 기능으로 GET 요청을 오버로드하지 않으려합니다.
  3. 동일한 도메인에 document.domain이 설정된 iFrame 사용. ourdomain.com의 사이트에서만 작동합니다.
  4. EasyXDM과 같은 프레임 워크. 좋은 해결책 같아.

고맙습니다!

답변

1

EasyXDM에 대해 잘 모릅니다.하지만 하나 이상의 응용 프로그램에서 동일한 아키텍처를 사용하고 있습니다. 우리는 당신의 제안 된 솔루션 (1)을 사용합니다. 제 생각에는 일반적인 하위 도메인을 통한 요청을 프록시하는 것이 가장 깨끗한 솔루션입니다. 나는 이것이 성능 문제라고 생각하지 않는다. 많은 사이트에서 어쨌든 어떤 종류의 리버스 프록시 (캐시)를 수행하기 위해 nginx과 같은 것을 사용합니다. http : // [yourhost]/api와 나머지 HTML, CSS 및 이미지 리소스를 통해 다른 경로를 통해 API를 쉽게 터널링 할 수 있습니다.

관련 문제