Можно ли разместить страницы AEM на внешнем сервере? - PullRequest
0 голосов
/ 28 апреля 2020

У компании есть маркетинговый сайт, работающий на AEM. Компания хочет нанять внешнее агентство для создания специальной целевой страницы, и мы хотим, чтобы код этой страницы был размещен в другом месте. AEM поддерживает это? Возможно, Dispatcher может выступать в качестве прокси-сервера для определенных путей?

Например:

  • companysite.com / normal-page -> AEM Publi sh instance
  • companysite.com/custom-landing-page -> Другой, не AEM сервер

Для ясности, я не заинтересован в перенаправлении . Я знаю, что есть много способов достичь этого. Я хочу, чтобы контент с внешнего сервера был доступен в основном домене.

Заранее спасибо.

ОБНОВЛЕНИЕ

Похоже, что диспетчер может поддержите это с помощью свойства конфигурации с именем /renders. В документации говорится о настройке нескольких серверов за балансировщиком нагрузки, но ничего не говорится о том, поддерживаются ли экземпляры, отличные от AEM.

Ответы [ 3 ]

0 голосов
/ 28 апреля 2020

Это вопрос настройки относительно простого обратного прокси-сервера, при условии, что вы можете предоставить четкие правила маршрутизации того, что идет в AEM, а что нет ... но убедитесь, что вы учитываете различные способы принятия решения, которое вы принимаете сейчас повлияет на вашу архитектуру в долгосрочной перспективе.

Я использовал Apache mod_rewrite таким образом. В этой конфигурации у нас был дополнительный сервер Apache, который находился перед стеком AEM, размещенным в управляемых сервисах Adobe, и устаревшее веб-приложение, которое совместно использовало тот же набор доменов (рыночные сайты c). Решение было принято на основе URL. Короче говоря, в зависимости от ваших точных настроек, желаемой гибкости и контекста безопасности, вы можете выбрать другой подход.

Очень похожая вещь должна быть легко достижимой на уровне CDN. Это может различаться у разных провайдеров, но несколько строк пользовательского VCL на Fastly (который использует Varni sh внутри) могут помочь.

На самом деле, в одном из моих недавних проектов мы использовали оба вышеупомянутых решения в некоторой степени, в зависимости от варианта использования. Имейте в виду, что, хотя сама конфигурация может быть довольно простой, это требует затрат на обслуживание. Это помогает отразить всю настройку в среде разработчика. Нам повезло, что он полностью автоматизирован, поэтому мы могли быстро раскрутить и отбросить окружение в AWS. Это было довольно сложно, и я бы сказал, что многие проекты не нуждаются (и не должны) в этом продвигаться.

Трудно сказать, не зная вашей инфраструктуры (В помещении AEM? AMS? AEM в облаке? Вовлечены ли другие приложения?), но я бы хотел начать с базовой конфигурации c mod_rewrite на Apache (той же, в которой установлен модуль Dispatcher).

В зависимости от того, что что и делает другое веб-приложение, обеспечение правильных правил маршрутизации может быть чем-то простым и невозможным Четкое разделение по пути было бы очень полезно. Помните, что вам, скорее всего, придется иметь дело не только со страницами, но и со всеми видами ресурсов, которые эти страницы загружают.

Еще одна проблема будет заключаться в том, чтобы спроектировать кэширование таким образом, чтобы это имело смысл. Масштабирование может быть еще одним фактором, на который влияют эти решения.

0 голосов
/ 08 мая 2020

Диспетчерский модуль - это расширение вашего веб-сервера, которое обеспечивает связь между AEM и веб-сервером.

Обычно у вас есть как минимум два или более сервера AEM publi sh (каждый со своими собственными веб-сервер) и loabdalancer или CDN в передней части веб-серверов. Mod_proxy

Apache прекрасно может перенаправлять запросы на основе пути ... на разные серверы без уведомления клиента (без перенаправления или туда и обратно). То же самое можно сделать с любым LB или CDN. Не имеет смысла направлять запросы через всю вашу инфраструктуру, пока они не поступят в модуль диспетчера, а затем получить контент из другого места, если это можно сделать на более ранней стадии.

Кроме того, почему беспокоить диспетчера ненужными вещами - он должен сосредоточиться на кэшировании страниц AEM и поддержании этих кэшей в актуальном состоянии (как бы вы сказали диспетчеру, чтобы в любом случае аннулировал кэш для вашего удаленного контента).

Мой совет будет обрабатывать запросы на внешний контент как можно раньше, чтобы уменьшить накладные расходы.

BR, Oliver

0 голосов
/ 28 апреля 2020

Это можно сделать, но на уровне cdn. CDN может быть настроен для конкретного URL-адреса для подключения к другому серверу или маршруту.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...