我希望能够为帐户持有者使用多个动态子域名,同时还拥有api子域名。基本上如下所示:
https://example.com --> Angular 4 public landing page app
https://api.example.com --> NodeJS api
https://otbs.example.com --> Angular 4 SaaS application
https://test-account.example.com --> Angular 4 SaaS application
公共目标网页应用程序只是面向公众的应用程序的Angular 4应用程序,而SaaS应用程序本身就是实际应用程序,用于用户登录时,并根据其链接帐户映射到子域。
我正在使用NodeJS,Express 4,Angular 4和Angular CLI。我的目的是使用S3为客户端Angular应用程序提供服务,同时让NodeJS API在ElasticBeanstalk中运行。
这种配置可行吗?我在AWS上查看了虚拟主机,但这不一定是我正在寻找的,因为我需要能够在每次创建新帐户时注册新的子域。
答案 0 :(得分:0)
我们使用AWS CloudFront通过route53进行通配符DNS映射。方法是将* .example.com映射到CloudFront分发,并在route53中为API使用覆盖记录集api.example.com,以便API指向您的快速Web服务器。步骤如下。
这里子域只是一个掩码,但实际的映射会从后端验证。因此,无论子域如果用户访问任何子域,Angular应用程序都会从其通配符加载,但将通过API请求进行验证,并且可以向用户显示相关消息。
此外,您可以将API连接到具有重定向行为的相同CloudFront分配(例如api / *),以便Angular应用程序不会出现CORS问题。