Пересечение вызовов AJAX для поддоменов - PullRequest
2 голосов
/ 12 января 2012

Мы хотим создать веб-приложение, которое будет использовать наш REST API и искать способ обойти функцию безопасности по той же политике происхождения.

У нас есть REST API, который подается с api.ourdomain.comот SERVER_1.У нас есть веб-приложение, которое является сервером от dashboard.ourdomain.com от SERVER_2.

Веб-приложение связывается с REST API с помощью вызовов ajax, которые включают запросы GET, POST, DELETE и PUT.

В какой-то момент в будущем мы могли бы рассмотреть возможность предоставления сторонним сайтам доступа к API со своих собственных сайтов и доменов.

Из-за функции безопасности в браузерах с одинаковой политикой происхождения эти запросы не разрешены.

Мы ищем способы обойти это.

Решения, с которыми мы столкнулись:

  1. Туннелирование запросов через наш прокси.Это замедлит работу приложения и потребует больше ресурсов.
  2. JSONP - будет работать только для запросов GET.Мы не хотим перегружать запросы GET возможностями post / put / delete.
  3. Использование iFrame с установленным для того же домена document.domain.Работает только для сайтов под ourdomain.com.
  4. Фреймворки, такие как EasyXDM.Похоже, хорошее решение.

Спасибо!

1 Ответ

1 голос
/ 19 января 2012

Я не знаю EasyXDM, но у меня та же архитектура, о которой вы говорите в нескольких приложениях.Мы используем предложенное вами решение (1).На мой взгляд, проксирование запросов через общий поддомен - самое чистое решение.Я не думаю, что это проблема производительности.Многие сайты в любом случае используют что-то вроде nginx для выполнения своего рода обратного прокси (в качестве кеша).Вы можете легко туннелировать свой API через http://[yourhost]/api, а остальные ресурсы HTML, CSS и изображения через другие пути.

...