Как сопоставить / подпапку на другой сервер с AWS Cloudfront? - PullRequest
0 голосов
/ 22 января 2020

У меня есть сайт WordPress и динамическое c веб-приложение, которое необходимо обслуживать из одного домена. Я хочу избежать использования субдомена или перенаправления по причинам SEO.

Вот чего я хотел бы достичь:

mydomain.com/*            -> 192.168.2.1   // WP installation: anything BUT /subfolder
mydomain.com/subfolder/*  -> 192.168.2.2   // Web app: anything IN /subfolder

Я прочитал здесь в комментарии, что AWS CloudFront "может отображать различные пути на разные серверы "

Однако я изо всех сил пытаюсь найти какие-либо доказательства, учебное пособие или подтверждение, если это возможно или как это сделать.

Можно ли выполнить вышеуказанную настройку с помощью Cloudfront? Если так - как?

1 Ответ

0 голосов
/ 23 января 2020

ОК - вместо этого я использовал cloudflare, поскольку это было очень просто.

По сути, когда ваш сайт работает через cloudfront, вы можете создать работника для обработки всех маршрутов в подкаталог:

addEventListener('fetch', event => {
  var url = new URL(event.request.url);
  if (url.pathname.startsWith('/subfolder/') || url.pathname === '/subfolder') {
    handleBlog(event, url);
  } else {
    event.respondWith(fetch(event.request));
  }
})

async function handleBlog(event, url) {
  var originUrl = url.toString().replace(
    'https://www.example.com/subfolder',
   'https://example.org/');
  event.respondWith(fetch(originUrl)); 
}
...