【问题标题】:Unable to map naked domain (non www) to Google Cloud Storage bucket无法将裸域(非 www)映射到 Google Cloud Storage 存储桶
【发布时间】:2022-09-30 18:13:15
【问题描述】:

美好的一天,我正在尝试在 G Cloud Storage 上托管一个静态站点。我按照https://cloud.google.com/storage/docs/hosting-static-website 此处的文档进行操作,一切都成功了。我从 namecheap volunux.com 购买了一个域,并在创建过程中将存储桶命名为 www.volunux.com,并在 Search Console 中验证了所有权。我对“不安全”的东西不满意,所以我想要 HTTPS,我应该使用负载均衡器,但我现在正在寻找便宜的东西。因此,我选择 Cloudflare 为我提供免费的 SSL,一切都很好,但问题就在这里。我的网站在www.volunux.com, https://www.volunux.com 工作

但从不工作:volunux.com,http://volunux.comhttps://volunux.com

从昨天开始将近 24 小时,我一直在网上寻找解决这个问题的方法。

  1. 有人建议说,必须在 GCS 中创建两个存储桶来同时服务于 www 和非 www。
  2. 有些人必须创建另一个存储桶并在 Web 配置中将 MainPageSuffix 设置为 https://www.volunux.com 以便执行重定向。
  3. 有些人必须为 c.storage.googleapis.com 创建一个 cname 记录,我这样做了,但没有成功。
  4. 有人必须创建一个 A 记录才能将 IP 设置为我的托管服务提供商,我假设是 GCP,但它也不起作用。
  5. 有些,我必须创建一个页面规则并将所有来自 volunux.com 的请求重定向到带有或不带有协议的 https://www.volunux.com

    我认为#1会起作用,但我必须为一件事维护两个单独的桶,而#2,我不知道这是否是标准做法,但从#3到#5。所有的努力都被证明是徒劳的。我已经阅读了 Stackoverflow、CloudFlare 社区、个人博客上的帖子,但对我来说都没有成功。我已经执行了 URL 重写,从 volunux.com/* 到 https://www.volunux.com/$1 的 301 重定向,但是根据我在互联网上找到的解决方案,所有努力都证明是失败的,我在这个阶段很困惑,因为我不知道该怎么做做。我正在考虑使用 Jekyll 甚至 AWS S3 回到 Github Pages,但我还不想这样做。

    有人请帮忙。附上配置截图。

  • 有人请帮忙。

标签: dns cloudflare static-site namecheap cloud-storage


【解决方案1】:

这就是我所做的:

  1. 将 Google 云存储桶设置为裸域/非 www 域,例如例子.com

  2. 然后使用 Cloudflare 将裸域的 CNAME 设置为 c.storage.googleapis.com,默认情况下 CNAME 扁平化。

  3. 然后将“www”子域的 A 记录添加到私有地址,例如“192.0.2.1”

  4. 然后在“规则”中添加一条 Cloudflare 规则,即转发网址状态码“301 - 永久重定向”来自www.example.com/* 至https://example.com/$1

    这意味着裸域只有 1 个存储桶,如果有人试图去www.example.com它将重写为https://example.com.所以总是使用 HTTPS,效果很好。

【讨论】:

    猜你喜欢
    • 2018-01-06
    • 2014-08-22
    • 2018-06-18
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    相关资源
    最近更新 更多