Ruby 如何为云存储中使用静态站点URL的文件生成签名URL?

Ruby 如何为云存储中使用静态站点URL的文件生成签名URL?,ruby,google-cloud-storage,gcloud,gcloud-ruby,Ruby,Google Cloud Storage,Gcloud,Gcloud Ruby,假设我有一个域名,media.coolsite.com。也就是说,我在谷歌云存储中有一个同名的存储桶。我还正确设置了cname,因此当我在浏览器中访问media.coolsite.com时,它会在bucket中呈现index.html 该bucket还包含一个文件01.mp3,我正试图获取该文件的签名URL。我可以使用以下代码执行此操作: gcloud = Gcloud.new storage = gcloud.storage bucket = storage.bucket 'media.coo

假设我有一个域名,
media.coolsite.com
。也就是说,我在谷歌云存储中有一个同名的存储桶。我还正确设置了cname,因此当我在浏览器中访问
media.coolsite.com
时,它会在bucket中呈现
index.html

该bucket还包含一个文件
01.mp3
,我正试图获取该文件的签名URL。我可以使用以下代码执行此操作:

gcloud = Gcloud.new
storage = gcloud.storage
bucket = storage.bucket 'media.coolsite.com'
file = bucket.file '01.mp3'
signed_url = file.signed_url
这将返回如下URL:

但我想要的是这样一个URL:

注意不同的主机:
media.coolstuff.com
而不是
storage.googleapis.com


如何使用
gcloud
gem实现这一点?

两个问题:首先,您的问题中是否有意将https转换为http?第二,你能描述一下需要第二个URL的用例吗?1)是的,这是故意的,因为我没有该域的SSL证书,所以我假设我不能使用https。2) 从你自己的领域提供你的内容似乎更专业,链接共享的意图也更清晰。Amazon允许您使用
virtual\u host
标志执行此操作:。这里的解释甚至谈到了https和http。它们默认为http,但理想情况下,如果我能够在该域中使用https,我可以选择。感谢您的澄清。不幸的是,GCS目前不支持任何类似的功能,因此无法使用签名URL来实现这一点。对不起,是的,地面军事系统对此有支持。上面例子中的第二个链接确实有效。在本地,我只是使用字符串替换将“s://storage.googleapis.com/”替换为“/”,这个URL就可以工作了。gem应该支持这个功能。