2016-11-24 21 views
0

У меня есть w1 веб-приложений (SPA): Веб-сервер WS находится в физическом сервере X The ApplicationServer AS IL, расположенной в другом физическом сервере Y.структура сервера для веб-приложения

Пользователь называем веб-сервер для запуска приложения w1 (http://WS/w1) У браузера есть вид, но не данные. Для получения w1 данных аппликаций вызова AS с помощью Ajax HTTP GET вызовов (http://AS/car/df785er/plate, например, retrie тарелки автомобиля)

суммирующих в дизайне MVC, вид извлекаются из WS, модель извлекается из AS.

Эта структура является правильным? Или у правильной структуры есть WS и AS inn одна и та же физическая машина?

ответ

1

Структура вашего приложения верна ... НО браузер по умолчанию будет блокировать по соображениям безопасности запросы ajax, сделанные для модели AS.

Существует несколько возможных решений. Те, которые я использовал, являются:

  1. включить CORS на сервере AS. Это позволит браузеру звонить в AS Это очень просто, если вы только делаете запросы GET. Вы просто добавляете HTTP-заголовок (Access-Control-Allow-Origin :) к ответу Подробнее о CORS: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
  2. Используйте обратный прокси-сервер на WS для совершения звонков в AS: напр. все запросы к/API/на WS будет обратный proxyed к http://AS/

Какое решение применять в зависимости от соображений безопасности, какой тип запросов, которые вы делаете (например. CORS позволяет только GET, HEAD драм POST), и т.д. ...

+0

Grazie Filippo! Я уже использую CORS. Моя проблема заключается в том, что я использую cookie для повторной отправки в AS sessionid ... Я вызываю свой сервер приложений для получения, например, вложения с помощью прямого HTTP GET без специального вызова ajax (только для пользователя) и не всегда GET отправьте мой sessionid cookie – padibro

+0

По вашему 2-му решению я думаю, что проблема будет решена – padibro

+1

Да, в этом случае обратный прокси-сервер должен работать нормально – filippo

 Смежные вопросы

  • Нет связанных вопросов^_^