通过路线在Google Cloud Storage中托管静态网站单页应用

Mat*_*dge 7 cloudflare google-cloud-storage single-page-application

到处都有有关如何执行此操作的指南和问题,但从来没有真正令人满意的具体答案。基本上,我想知道是否可以在GCP Cloud Storage中托管静态SPA(HTML / CSS / JS)。

主要警告是SPA具有自己的路由系统(ReactRouter),因此我希望所有路径都由index.html提供服务。

大多数指南会告诉您将ErrorDocument设置为index.html而不是404.html。尽管这是一个聪明的骇客,但它会使站点的HTTP响应代码为404,这对于SEO或监视工具来说是一场灾难。这样就可以了,只要我可以更改响应代码即可。

有什么办法可以使这项工作吗?我也已经启动并运行了CloudFlare,但是据我所知,没有办法修剪路径或从那里更改响应状态。

Fed*_*zio 3

一个好的方法是使用 Google App Engine 托管静态 SPA。https://cloud.google.com/appengine/docs/standard/python/getting-started/hosting-a-static-website

\n\n

您可以使用 app.yaml 文件将 url 映射到静态文件。这里\xe2\x80\x99s 是一个例子:

\n\n
runtime: python27\napi_version: 1\nthreadsafe: true\n\nhandlers:\n- url: /\n  static_files: www/index.html\n  upload: www/index.html\n\n- url: /(.*)\n  static_files: www/\\1\n  upload: www/(.*)\n
Run Code Online (Sandbox Code Playgroud)\n\n

app.yaml 文档https://cloud.google.com/appengine/docs/standard/python/config/appref

\n

  • @TimurMamedov 我最终只使用 AWS S3 哈哈 (9认同)
  • 感谢您的回答,这绝对是一个可行的选择。不幸的是,当我们真正讨论的是提供一些 HTML/JS 文件时,这也是一个有点沉重和昂贵的选择。我们希望托管数十个此类 SPA,因此我希望找到一种以 GCP 存储桶作为后端来实现这一目标的方法。 (3认同)