Google Cloud Storage Bucket 未与 DNS 记录上的 CNAME 相关联,因为我的域使用我的域作为来源
Posted
技术标签:
【中文标题】Google Cloud Storage Bucket 未与 DNS 记录上的 CNAME 相关联,因为我的域使用我的域作为来源【英文标题】:Google Cloud Storage Bucket is not associated with CNAME on DNS record for using my domain as origin 【发布时间】:2022-01-22 21:10:35 【问题描述】:我打算通过自己的域名 supereye.co.uk 使用 Google Cloud Storage。
然而,
当我尝试将我的 supereye.co.uk 的 DNS 记录上的 CNAME 与 Google Cloud Bucket production-supereye-co-uk 相关联时,当我尝试访问时收到以下消息
production-supereye-co-uk.supereye.co.uk/static/default-coverpng :
<Error>
<Code>NoSuchBucket</Code>
<Message>The specified bucket does not exist.</Message>
</Error>
我该怎么办?
重要提示:这不是静态网站。这是一个运行在 Google Cloud Engine 上的 Django 应用程序,Django 有自己的 URL 路由机制。这意味着 Django 会翻译 supereye.co.uk/URL 之后的所有内容,我想知道这应该如何工作。
【问题讨论】:
所以你在 supereye.co.uk/.. 有一个 django 应用程序,但你想将 cname 记录指向 supereye.co.uk? 好问题。我在 supereye.co.uk 有一个 django 应用程序,但我想使用与 supereye.co.uk 关联的 Google Cloud Storage 存储桶,例如可以通过 supereye.co.uk/data 访问,而不是通过“c.storage” .googleapis.com”。我该怎么做? 【参考方案1】:因此,您不能简单地添加 CNAME 记录来将一些流量重定向到给定的 URL。 您必须执行以下操作之一才能获得所需的结果:
为新的子域 data.supereye.co.uk 提供流量,该子域将托管您的内容。 通过您的 django 应用代理数据,这并不理想,但可以让您通过身份验证或授权轻松保护您的数据。 通过 nginx 代理内容,使用 nginx 代理请求(转发)到您的云存储桶。重量轻,实施起来相当简单。 使用 gcp 负载均衡来拆分流量,您可以设置 LB 以使用主机/路径规则在后端组和存储桶之间拆分请求。我会选择 LB 或 nginx 代理,因为它们是最容易实现的(取决于您的设置)。如果您想要任何形式的访问控制,请通过您的 django 应用程序代理请求。
【讨论】:
以上是关于Google Cloud Storage Bucket 未与 DNS 记录上的 CNAME 相关联,因为我的域使用我的域作为来源的主要内容,如果未能解决你的问题,请参考以下文章
ReferenceError:导入@google-cloud/storage 时分配的左侧无效
错误:模块“google.cloud.bigquery_storage”没有属性“BigQueryReadClient”
使用 Cloud Functions for Firebase 和 @google-cloud/storage 删除图像时出现问题