Размещение двух сайтов в одном домене

У меня есть два приложения, названные opentripplanner-webapp и opentripplanner-api-webapp. Я успешно развернул их на локальном сервере Tomcat. Приложения имеют URL как http://localhost:8080/opentripplanner-webapp а также http://localhost:8080/opentripplanner-api-webapp, Когда я развернул приложения в appfog, они дали мне разные домены для обоих приложений. Проблема в том, что мои приложения используют ajax-запросы и ответы, которые не работают на кросс-доменах. Я ищу два дня, чтобы найти какое-либо решение, но не нашло подходящего решения. Пожалуйста, ведите меня. Thankss

1 ответ

Вот несколько вариантов для вас:

  • Используйте JSONP (JSON с отступом). Вы должны написать свой API, чтобы он поддерживал этот протокол, но он не должен быть слишком сложным.
  • Создать оба opentripplanner-webapp а также opentripplanner-api-webapp поэтому они поддерживают перекрестное совместное использование ресурсов. Это означает, что ваше веб-приложение отправляет Origin заголовок в запросе, и сервер отвечает Access-Control-Allow-Origin заголовок, и, если они совпадают, браузер принимает запрос. Однако это поддерживается не всеми браузерами, хотя большинство современных браузеров поддерживают.
  • Используйте прокси сервлет в вашем opentripplanner-webapp, который прокси запрашивает ваш API. Вы можете "смонтировать" этот сервлет, например, на /api в веб-приложении, и он перенаправит все запросы в opentripplanner-api-webapp для внутреннего использования. Таким образом, вы будете отправлять ваши запросы AJAX http://webappserver/api вместо http://apiserver, Для браузера это будет выглядеть как обычный запрос того же источника. Это будет работать во всех браузерах, но может потребовать дополнительной настройки.
Другие вопросы по тегам