AWS - 在 ELB 后面托管 Elastic Beanstalk + S3
AWS - Hosting Elastic Beanstalk + S3 behind ELB
我有一个 Elastic Beanstalk 实例服务于后端应用程序 运行 本机 HTTP 和一个 Angular 在 S3 实例上托管的应用程序。
现在,我想将它们放在单个域 www.example.com 上,在 SSL 保护的负载均衡器后面,它将通过 URI 在内部路由请求,或者到后端 (/api /) 或 angular 应用程序 (/)。为此,我设置了一个连接到 LB 的 Route53 DNS。
虽然我没有看到直接从 LB 路由到 S3 实例的选项。我读过,我应该为 angular 应用程序创建一个 CloudFront 发行版并将 LB 指定为原点,但是在配置 CF 发行版之后,我没有在 LB 中看到任何选项来将它连接到 angular 应用程序。我应该如何处理它?
在这种情况下,路由应该在 CloudFront 上处理,而不是在负载均衡器上处理。您可以在 CloudFront 中创建多个行为,每个行为指向不同的来源。因此,您可以选择默认的 CloudFront 行为 (*
) 以指向您的 s3 存储桶并创建第二个行为,每当 URL 包含 /api
以指向您的负载均衡器来源时使用该行为。
我有一个 Elastic Beanstalk 实例服务于后端应用程序 运行 本机 HTTP 和一个 Angular 在 S3 实例上托管的应用程序。
现在,我想将它们放在单个域 www.example.com 上,在 SSL 保护的负载均衡器后面,它将通过 URI 在内部路由请求,或者到后端 (/api /) 或 angular 应用程序 (/)。为此,我设置了一个连接到 LB 的 Route53 DNS。
虽然我没有看到直接从 LB 路由到 S3 实例的选项。我读过,我应该为 angular 应用程序创建一个 CloudFront 发行版并将 LB 指定为原点,但是在配置 CF 发行版之后,我没有在 LB 中看到任何选项来将它连接到 angular 应用程序。我应该如何处理它?
在这种情况下,路由应该在 CloudFront 上处理,而不是在负载均衡器上处理。您可以在 CloudFront 中创建多个行为,每个行为指向不同的来源。因此,您可以选择默认的 CloudFront 行为 (*
) 以指向您的 s3 存储桶并创建第二个行为,每当 URL 包含 /api
以指向您的负载均衡器来源时使用该行为。