我正在构建一个有声读物应用,并已将音频文件上传到Firebase存储。我的问题是我在旧金山与多伦多的比赛中经历了不同的表现。我认为Firebase存储内置了CDN。如果是的话,我需要在某个地方启用吗?如果没有,如何将GCP CDN添加到Firebase Auth后面的Firebase存储文件中?
检查托管我的Firebase存储文件的域storage.googleapis.com
表明它正在使用Google CDN。
以下是我的一个公共音频文件请求的响应标头:
accept-ranges: bytes
alt-svc: quic=":443"; ma=2592000; v="46,44,43,39"
cache-control: public, max-age=3600
content-disposition: inline; filename*=utf-8''G4PT7dPIyEuIz74BtTmm_FallIsTheLastSeasonOfTheYear.mp3
content-length: 3162637
content-type: audio/mp3
date: Tue, 30 Apr 2019 17:13:34 GMT
etag: "98013599e6f108a0edeeaac7c8b2bb45"
expires: Tue, 30 Apr 2019 18:13:34 GMT
last-modified: Mon, 08 Apr 2019 17:59:58 GMT
server: UploadServer
status: 200
x-goog-generation: 1554746398034230
x-goog-hash: crc32c=TKSAfA==, md5=mAE1mebxCKDt7qrHyLK7RQ==
x-goog-meta-firebasestoragedownloadtokens: da578546-c265-4f06-ae11-6273a7812bf2
x-goog-metageneration: 2
x-goog-storage-class: STANDARD
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 3162637
x-guploader-uploadid: AEnB2UqdvgzkJMC0yHJkGbr-K5cWWbXK5I2j6NLtd4NwG1G9swIhhp1QC8G25JUK4LItZID0IxuYhhLta3YImMTtzbKkr5vcEQ
我联系了Firebase支持,这是我得到的答案:
关于CDN问题,简短的答案是否定的,云存储没有内置的CDN;答案不那么简短:当您的云存储是“多区域”时,意味着“热门内容”(经常访问的内容)在不同位置可用,但仅限于多区域位置,并且仅适用于该位置的“管辖区”,例如,如果您的项目位于“我们中心”,那么您的多区域存储将仅存储在美国数据中心,因此当从多伦多访问时,它将被提供离最近的美国数据中心。
现在,有一些方法可以将CDN添加到云存储内容中;我使用Google CDN找到了这个小指南:https://medium.com/@marco_37432/create-a-custom-domain-cdn-with-google-beta-7ad9531dfbae
我看到的另一个用途是创建一个带有云存储的静态网站,并添加另一个CDN提供商,如CloudFlare。您可以在此链接中查看更多详细信息:
https://cloudplatform.googleblog.com/2015/09/push-google-cloud-origin-content-out-to-users.html https://cloud.google.com/interconnect/docs/how-to/cdn-interconnect