在同一个域内为请求转发到多个应用程序的架构,有什么实践指导?

0

【以下的问题经过翻译处理】 我在不同的环境中托管了多个网站,例如基于S3的静态HTML,基于Amazon Lightsail的自托管WordPress,基于Elastic Beanstalk的应用程序以及外部网站(例如Wordpress.com/Wix/Webflow)。

我想将所有这些应用程序统一到一个域名下,比如说www.example.com。路由使用请求路径和用户代理。

方案如下所示:

image

例如,如果请求是https://www.example.com/a,它将被转发(而不是重定向)到Site A。如果请求是https://www.example.com/d并使用移动设备访问,它将被转发到Site B,但如果使用桌面设备访问,它将被转发到Site C。当请求为https://www.example.com/sitemap.xml时,它将被转发到存储在S3中的公共文件。

我心中想到的一个解决方案是使用具有路由的ALB。但据我所知,ALB只允许3种目标组:1)实例,2)IP和3)Lambda。因此,我正在考虑针对作为应用程序代理的Lambda进行目标定向。例如下面这样:

image2

我想知道是否有更好的解决方案。

profile picture
EXPERTE
gefragt vor 5 Monaten25 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 您可以使用具有多个源和行为的CloudFront分发来实现此操作。您将使用NoCache策略,以便所有请求都会转发到您的源,除了可能是您的S3对象。您将需要使用Lambda@Edge或CloudFront Functions来处理用户代理要求。请参考《使用Amazon CloudFront加速内容》进行了解。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen