amazon-web-services - 如何通过 CNAME 将 Netlify 子域指向 AWS S3 存储桶?

标签 amazon-web-services amazon-s3 amazon-route53 cname netlify

我有一个通过 Netlify 托管的静态站点 (mysite.com)。 Netlify 目前管理我的 DNS,因此我拥有如下名称服务器:

  • dns1.p07.nsone.net
  • dns2.p07.nsone.net
  • dns3.p07.nsone.net
  • dns4.p07.nsone.net

  • 我的 S3 上有一个名为 dl.mysite.com 的存储桶。我想要它,以便当有人单击 http://dl.mysite.com/file.pdf 等链接时,它会从 S3 存储桶中获取它。

    在我的 Netlify 管理仪表板中,我能够创建一个自定义子域 (dl.mysite.com),它指导我执行以下操作:

    Point dl CNAME record to obfuscated-url-d6f26e.netlify.com Log in to the account you have with your DNS provider, and add a CNAME record for dl pointing to obfuscated-url-d6f26e.netlify.com.



    过去,当我专门使用 AWS 来托管应用程序和管理 DNS 时,只需在 Route53 中为子域创建别名记录并将其指向我的存储桶即可轻松实现。

    既然 Route53 不处理我的 DNS,我该如何实现?是否仍然可以将该子域指向特定的 S3 存储桶?

    最佳答案

    免责声明:我为 Netlify 工作。

    Netlify 旨在托管 Web 内容,而不是完全代理到 S3 存储桶。按照您的描述使用它可能会起作用,但与我们的 terms of service 背道而驰,其中明确指出我们打算托管带有 html 内容的网站供人们而不是计算机浏览。如果这就是您想要做的所有事情 - 从该 S3 存储桶中提供内容,那么我根本不会在这里使用 Netlify 的中间步骤。这是另一个失败点,将我们置于您的访问者和 S3 之间并没有给您带来太多好处。一种更合理的方法是上面@thomas 建议的方式。

    但是,如果您想为您的域使用 Netlify 的 DNS 托管,因为我们为您托管其他站点,您绝对仍然可以使用我们的 DNS 来设置直接指向 S3 的主机名 - 没有违反服务条款,因为我们不要限制您使用我们的 DNS 服务。许多客户让我们为域名托管 DNS,其中 netlify 上有一个网站,其他地方有十几个网站。为了进行配置,我将该记录设置为 S3 主机名的 CNAME,并在 AWS 端处理任何 SSL 证书。这会很有效,如果不行,我们的技术支持团队将很乐意为您提供帮助。

    在第三种情况下,如果您想从 S3 提供该主机名的 一些 内容(例如 PDF),然后再提供一些其他内容(例如链接到 PDF 的网站 html 文件),这是合法的!我们很乐意代理您的 S3 内容。例如,您可以像这样在 /files/* 文件中为 S3 上的 /_redirects 设置(反向)代理:
    /files/* http://aws-bucket-hostname/:splat 200!
    这表示“从 Netlify 加载除/files/* 之外的所有文件,这些文件应该来自 S3,其路径与 URL 中/files/之后的部分匹配”。在这种情况下,我们将为您处理 SSL 证书,因为我们终止了浏览器连接而不是 S3。

    有关该功能的更多文档,请访问:

    https://www.netlify.com/docs/redirects/

    关于amazon-web-services - 如何通过 CNAME 将 Netlify 子域指向 AWS S3 存储桶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49283171/

    相关文章:

    json - 在云形成中如何将可信实体与 IAM 角色的身份提供商相关联

    amazon-web-services - s3cmd put - 不支持您提供的授权机制。请使用AWS4-HMAC-SHA256

    amazon-web-services - 使用/CloudFront 和 SSL 将裸域重定向到 AWS S3 网站的 www 子域

    amazon-web-services - 按国家/地区限制网站访问

    amazon-web-services - cloudfront 指向 s3 上托管的旧版 React

    amazon-web-services - ejabberd 与 Riak 的集成

    amazon-web-services - AWS 推荐的 Kubernetes 中的 POD 大小 - EKS

    apache-spark - 如何传递密码以激发 EMR

    amazon-web-services - 单点登录: Microsoft 365 not asking to pick an account

    javascript - 从 Angular JS 中的 aws s3 存储桶下载文件