如何在Google云端存储上托管整个网站?

ros*_*ney 26 dns cname google-cloud-storage

有没有办法在Google云端存储上托管整个网站?也就是说,将存储桶直接映射到顶级域.

例如,创建一个名为mysite.com的存储桶,然后当用户访问mysite.com直接从云存储中提供内容时?

我看到了如何CNAME使用子域名,例如静态 .mysite.com,但无法弄清楚如何将顶级域映射到存储桶.

有解决方案吗

Chr*_*don 21

我也想这样做.但是,正如您所发现的那样,目前无法将Google云端存储分区直接绑定到顶级域名.

Google云端存储应答Web请求的IP地址经常发生变化(以适应互联网上不断变化的条件),因此Google不希望您添加其中的一部分(这会很快过时)作为A记录的您网站的DNS服务器.相反,Google需要CNAME指向其控制的DNS名称,因此它可以根据需要随时更改Google云端存储的IP地址.并且CNAME只能添加到子域而不是顶级域.(这是因为当给定级别存在CNAME时,该域的DNS服务器将不会回答该级别的任何其他查询.但顶级域名也需要至少回答NS和SOA查询.)

现在唯一的解决方法是,如另一个答案所述,为www子域设置CNAME,并配置DNS托管服务以执行从顶级域到www子域的http级重定向.(Mosty提供商将支持这一点.)

如果你不是这个解决方案的粉丝(像我一样),那么有三种可能性.第一个是等待Google提供在Google云端存储上托管顶级域名的可能性.这要求谷歌首先进行DNS托管.启用顶级域名支持需要Google的额外工作(在构建其DNS托管服务之后),但只有Google控制这两个部分才有可能.不过,我不知道Google是否会提供此类服务.但人们可以希望.

第二个解决方案是切换到另一个大型提供商.亚马逊可以在顶级域名上托管来自S3的静态网站.但那是因为他们还为该域托管DNS.可能还有其他人.所有大型云提供商都将从一组频繁变化的IP地址中提供数据.因此,如果他们也不托管您的DNS,他们将需要您在子域上设置CNAME.

第三种(理论上,至少)解决方案是切换到较小的云提供商,提供相同的服务,可能在OpenStack等.因为它们更小,他们的IP路由设置将比大玩家(亚马逊)简单得多,Google等等,然后他们就可以为您提供一小组IP地址,以便在您的顶级域名中设置为A记录.不过,这只是我的一个有根据的猜测.我现在还不知道任何这样的小型云存储提供商.

(嗯,好吧,第四种可能性是放弃静态托管你网站的想法.但就个人而言,我真的很喜欢这个选项,至少从安全和响应的角度来看.)


bva*_*ghn 10

这是一个老问题,但如果有人遇到这个帖子,我今天遇到了同样的问题.

Google Domains是我的域名注册商.假设你也是这种情况,这里是你如何设置它:

在"自定义资源记录"下...

为"www"创建指向"c.storage.googleapis.com"的CNAME记录.

在"综合记录"下......

选择"子域前进".在最左侧(子域)输入中输入"mydomain.com",在最右侧(目标URL)输入中输入"www.mydomain.com".

  • 请注意,同样使用 Google Domains 创建转发根域的合成记录,输入 `@` 作为子域,而不是答案似乎表明的 `mydomain.com`。 (2认同)

Jas*_*all -2

是的,这是可能的,并记录在此处:https ://developers.google.com/storage/docs/website-configuration

基本上,您需要设置 CNAME 重定向到c.storage.googleapis.com