问题标签 [google-cloud-cdn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
978 浏览

firebase - Utilizing CDN for hosting images (or other media files) on the Firebase platform

I am hosting a Firebase App and connected my custom domain to it, which was working smoothly. So my app is accessible at: https://example.com

Now, I want to serve the images, which are upload to the default Google Storage Bucket at a clean url (without access token) at: https://example.com/img/myimage.jpg. Futhermore, the images should be delivered via the CDN. How can this be achived?

What I have figured out so far:

I hope there is a simpler solution for solvig this common use case. Thx for support.

0 投票
2 回答
175 浏览

nginx - 如何设置 Google VM(实例分组)、https 负载均衡 w/CDN,以便后端解析域?

后端:来自市场的“Bitnami WordPress with NGINX and SSL Stack for Google Cloud Platform”。

我使用了本指南: https ://www.am22tech.com/google-cloud-cdn-wordpress/

我最终得到了一个有点工作的系统,如下所示:

我的域 ->(谷歌托管证书)-> CDN + 负载均衡器 -> 实例组 ->(http)-> 带有 bitnami 堆栈的 VM。

一切运作良好,似乎非常快。我理解的最大差距是如何告诉虚拟机它需要表现得好像它是原始域一样。

例如,在 nginx 服务器配置中,任何对 $host 的引用似乎都会返回 VM 的 IP 地址或类似的东西。

此外,在 wordpress 中,在很多地方域被 IP 地址替换,即使站点 URL 和 wordpress 地址显示正确。不过,这不是一个 wordpress 问题,因为我很确定我缺少一个更通用的解决方案,可能与 NGINX 或负载均衡器配置有关。我认为 PHP 检测到主机并将其传递给 wordpress,但我不清楚如何。

我在 google 文档中的某处找到了如何手动将域分配给 VM 的参考,但不确定这是这里需要的。

除此之外,我完全不清楚如何在 vm 和负载均衡器之间设置 https,但全局转发规则只有一个域/IP 地址。也许是一个单独的问题。

0 投票
1 回答
69 浏览

google-cdn - 如果 Google (GGC) 出现物理链接问题,谁能帮助我?

一个月前,我给 noc@google.com 发了一封邮件,说连接我们的设备和 Google 设备的接口出现故障。从那以后,我开始每天发送电子邮件询问更新,并且总是给我来自组织的相同回复:

“你好团队,这个问题正在等待世纪链接,他们在巴西发生了中断。一旦我们从他们那里得到更新,我们会尽快与你分享。”

它看起来像一个自动响应。在 remote-hans 的情况下,支持 Google CDN 的唯一方法是仅通过电子邮件 noc@google.com?

0 投票
2 回答
371 浏览

google-cloud-platform - 获取谷歌云cdn的域名和边缘位置的好处

来自 AWS/cloudfront 背景,我想知道我在任何地方都找不到的谷歌 CDN 的基域。在 Cloudfront 中,诸如 xyzid.cloudfront.net 之类的域在 cloudfront 分发列表中可用。

我需要通过谷歌的 CDN 将对象存储在谷歌的存储桶和服务器中以获得更好的性能。我已经阅读了很多教程,这些教程解释了如何通过负载平衡器将 cdn 与存储桶链接。但最后它只给了我 IP 地址,通过它我可以成功访问存储桶的内容。

由于 IP 将位于特定位置,而在 cloudfront 的情况下,它会提供诸如 xyzid.cloudfront.net 之类的域,该域会根据用户的位置解析为最近的 IP 地址。我非常怀疑,使用 IP 作为基域将如何利用谷歌的 90 多个边缘位置。

我想我在这里遗漏了一些重要的东西。

0 投票
2 回答
1465 浏览

encoding - CloudCDN 是否支持 Brotli 编码的服务?

我的公司正在考虑从 AWS 迁移到 GCP。我们希望 CloudCDN 支持的功能之一是 brotli 编码。我们有一个技术栈,它将我们的 javascript 捆绑到 3 个文件中:

如果 CloudCDN 收到客户端请求标头Accept-Encoding: br, gzip ,CloudCDN 是否足够智能以提供 Brotli 文件?此外,它会被缓存吗?如果没有,是否有任何其他方法可以在 CloudCDN 中实现这一点。

AWS Cloudfront 仅使用 2 个 lamdbas 提供此功能。我认为这是一个坏主意。

0 投票
1 回答
150 浏览

google-cloud-storage - 后端存储桶版本控制

我们在 CDN 后面有一些文件的存储桶,以及签名的 URL。我们根据最佳实践使用带有版本的查询字符串来更新内容,例如file.ext?v=100。

直到最近,一切都运作良好。该文档现在指出后端存储桶不处理查询字符串。但是以前我们没有遇到这样的限制,所以这似乎是最近的变化。

是否有任何解决方法可以实现近乎实时的更新?由于延迟,我们无法摆脱 CDN,也无法更改文件名,因为它需要进行许多代码更改。失效也不是一种选择。

0 投票
3 回答
985 浏览

google-cloud-platform - Google Cloud CDN 开始忽略存储分区的查询字符串

几个月前为存储桶激活了 Cloud CDN。我们的存储数据通过后端定期更改。因此,为了使缓存版本无效,我们向changedDate提供给客户端的 url 添加了一个查询参数。

当时这运作良好。

在过去几个月(可能是几周)的某个时候,Google 似乎改变了这一点,现在忽略了从存储桶缓存的查询字符串。

  • 第一部分:有谁知道为什么会发生这种变化以及为什么没有人收到通知?
  • 第二部分:如何使存储桶中特定对象的缓存失效,而无需每次都发送缓存失效请求(您不应该这样做)?

我不喜欢每次上传某些内容时删除旧文件并上传更改文件名的新文件的想法......

编辑:澄清:官方文档( cloud.google.com/cdn/docs/caching )已经声明他们现在忽略存储桶的查询字符串:

对于后端存储桶,缓存键由不带查询 > 字符串的 URI 组成。因此https://example.com/images/cat.jpghttps://example.com/images/cat.jpg?user=user1https://example.com/images/cat.jpg?user= user2是等价的。

0 投票
2 回答
567 浏览

google-cloud-platform - 如何过滤 GCP CDN 的入站流量?

我对 gcp 中的 cdn 服务有一个非常基本的问题。我只需要在入站允许一些 ip 并拒绝所有其他流量。我怎样才能实现这个功能?只是要知道,cdn 将使用后端存储桶服务。

我已经尝试过 gcp Armor 但对于 HTTP(S) 负载均衡器它不起作用。那么,gcp 堆栈中的正确组件是什么?

提前感谢您的宝贵时间。

0 投票
1 回答
3545 浏览

google-cloud-cdn - 如何解决 Google Cloud CDN 和 Compute Engine 的 CORS 问题

我创建了一个 Compute Engine - VM 并安装了几个网站。另外,我创建了网络服务 - 负载平衡 - 后端配置:创建后端服务并加入具有上述相同 VM 的实例组。- 创建云 CDN 和配置 SSL 证书也完成。

网址是https://united-athle.hk/ CDN 域名是https://cdn.ua.sugarproject.com

当我访问该网站时,在访问资源时出现以下 CORS 问题https://cdn.ua.sugarproject.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/manifest.json。 php?gcm_sender_id= ' from origin ' https://united-athle.hk ' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。

我已阅读跨域资源共享 (CORS), https: //cloud.google.com/storage/docs/cross-origin 但不太确定如何配置。我的存储在 VM 引擎中。

有人有想法吗?

0 投票
1 回答
1630 浏览

google-cloud-platform - 如何使用 Google Cloud CDN、Google Cloud Storage 和自定义域为静态网站提供服务?

我想建立一个静态网站,其中的文件存储在 Google 存储桶中。我已经拥有一个自定义域,并且至少有一些准系统文件来查看站点是否设置成功。

理想情况下,我希望在访问该自定义域时通过 SSL 提供内容,并使用 Google Cloud CDN 从 Google Storage 缓存内容,以便最终用户从 CDN 提供内容,而不是直接从 Cloud Storage 提供内容。

如果谷歌此时启用/支持这种情况,我还没有找到完美的设置,甚至无法巩固(我已经读到可能需要利用负载均衡器来支持 SSL,但还没有定论)。

到目前为止,我已经创建了一个 Google Storage 存储桶并上传了所需的文件。然后,我使存储桶公开可读,以确保没有任何权限问题。从那里我设置了一个负载均衡器来利用我的自定义域,选中了 Google Cloud CDN 复选框,刚刚创建的存储桶设置为后端,主机文件映射设置为默认设置。

更新:原来只需要几个步骤。首先,我需要为正在使用的存储桶关闭“请求者付款”。其次,我需要为“allUsers”添加“存储对象查看器”的权限(旧权限在这里不起作用)。最后,我必须将“A”和“AAAA”记录设置为我的域名上的 DNS 配置的负载均衡器的 IPV4 和 IPV6 地址(并​​清除所有以前的值,以便它们只指新的)。完成所有这些后,一切都在正常工作:)

感谢 Cloud Ace(带领我朝着正确的方向前进)和我上周遇到的一位 Google 客户工程师(请我参考这篇文章以供参考:https ://medium.com/@marco_37432/create-a-custom -domain-cdn-with-google-beta-7ad9531dfbae)!