小编M.S*_*.S.的帖子

S3 托管网站 Cloudfront 分布和 API 网关自定义域指向同一子域

我的网站有一个名为 api.example.com 的子域,我希望实现以下目标:

  • 有 1 个映射到 api.example.com 的 S3 静态网站的 CloudFront 分配

  • 将 API Gateway 自定义域名映射到同一个子域 api.example.com

我为实现此设置所做的步骤是:

  1. 创建一个 API 网关自定义域 api.example.com 并为我想公开为 v1(现在是版本 1)的 API 设置基本映射

  2. 在 Route 53 中,我创建了一个 CNAME 记录 api.example.com,指向步骤 1 中 API 网关的 Edge 优化目标域名

注意:此时我如预期的那样从https://api.example.com/v1得到 200 响应

  1. 我创建了一个 S3 存储桶并将其设置为静态网站托管。所有文件上传成功并正常工作。

  2. 我创建了一个新的 Cloudfront 发行版,源在 S3 存储桶中。此时,对于此 Cloudfront 分配,我无法将 CNAME 记录设置为 api.example.com,因为它已被 API 网关中设置的第一个自定义域名使用,并且 AWS 给出了 CNAMEAlreadyExistsException - 所以我将此字段留空. 访问 S3 存储桶的 CloudFront 分配按预期工作。

  3. 在为 S3 存储桶生成的 CloudFront 分配下,我添加了另一个源(API Gateway 自定义域名)并创建了 Bevahior 规则以将 v1/* …

cname amazon-s3 amazon-cloudfront amazon-route53

4
推荐指数
1
解决办法
1700
查看次数

Ruby on Rails-将ID参数添加到所有路线

我想知道在Rails路由中实现以下功能的最佳方法是什么:

方案:用户在其中注册帐户的网站=> accountID(帐户)成为该网站内的主要实体。

示例:https : //basecamp.com/ : ID/ -将授权用户带到Basecamp仪表板。从此处所有URL都包含:accountID,如https://basecamp.com/:ID/projects中所示 -列出该帐户下的所有项目。

提前谢谢了!

routing ruby-on-rails

3
推荐指数
1
解决办法
1164
查看次数