如何确保存储桶中的文件在我的网站上以 gzip 压缩格式提供?

How can I make sure files in a Storage Bucket are being served gzipped on my website?

我在 Google Cloud Platform 中为我的网站设置了这样的一个 Gatsbyjs 项目:

  1. 推送到存储库
  2. 触发 CloudBuild 将我的 Gatsby 网站构建到 public 文件夹中
  3. 使用 rsync
  4. 将“public”文件夹中的文件复制到存储桶

但是,当我访问我的站点(LoadBalancer 连接到存储桶)时,.js、.css、.html 文件未作为 gzip 提供。 我知道 gzip 的 cp 命令上似乎有一个标志,但这对 rsync 是如何工作的?

谢谢

如果您想使用 rsync“动态压缩”您的文件,这是不可能的。

但是,如果您只想对某些文件应用 gzip 传输编码,您可以使用 rsync 的 -j <...> 选项。这将节省网络带宽,但会将未压缩的数据保留在存储桶中。

但是,如果您想从 public 文件夹中取出未压缩的文件并将它们发送到存储桶并保持压缩状态,您将需要执行 gsutil cp -z command。这将压缩您的文件(如果它们未压缩在您的 public 文件夹中)并将它们压缩存储在存储桶中