我正在寻找信息来实现以下架构:
- 在 AWS S3 + Cloudfront 分发版上托管的一个单页应用程序 - 域示例.com
- 单页应用程序访问的单一 API - 域api.example.com
- 每家公司都有一个指向 Cloudfront 发行版的专用 DNS 子域名。例如,公司 A 有一个专用子域名companyA.example.com(使用 CNAME 记录实现)
- 当 A 公司的客户访问该域时companyA.example.com其浏览器与 API 通信,该 API 必须知道客户来自此子域,因此将客户与公司 A 关联起来(请记住,只有一个 API)
- 当然,所有通信都是 HTTPS
以下几点至关重要:
- API 必须有一种可靠的方法来了解请求从哪个子域发送 -
Origin
标头是否可靠? - A 公司的客户不能被强迫访问另一家公司的子域名(客户窃取)——我猜这更多的是一个 DNS 保护的问题
在披露所有这些信息之后,我想我可以继续我的问题:
API 如何才能“确定”客户“来自”哪个子域?