-1

我正在运行一个 App Engine 应用程序,我向其中添加了存储桶,为其他几个静态网站适当地命名并指定了 index.html 等。

将转发设置为快速。现在我正在尝试将域实际指向存储桶,因此访问者 URL 将是www.example.com/etc而不是https://storage.googleapis.com/www.etc

我在哪里可以找到用于每个域的各种 4 个 IP 地址等,以及资源记录?谷歌有很多关于资源记录的迷人细节,我现在不需要或想要这些细节。只有我的GD号码?

4

1 回答 1

2

如果您想要具有自定义域的云存储,您应该使用专用的子域,例如static.example.com,与您的 GAE 应用程序或服务使用的不同。

目前,Cloud Storage 不支持使用 SSL 的自定义域,这意味着访问者可以使用http://static.example.com/etc,但不能使用https://static.example.com/etc。几个月前,谷歌向具有自定义域的 GAE 应用程序添加了内置 SSL 认证,所以我相信他们将来也有可能将相同的内容添加到 GCS,但我不知道。可以在此文档中找到更多信息:静态网站示例、故障排除和提示

我看到两种不同的解决方法:

  1. 您可能知道,您可以使用应用程序代码部署静态文件。然后在 app.yaml 文件中定义静态目录。在这种情况下,可以通过与您的应用程序相同的子域以及您在 app.yaml 文件中映射的静态 URL 访问这些文件。但是,如果不重新部署新版本,您将无法更改静态文件。

  2. 如果 1 不适用于您的用例,并且您的用例需要带有自定义子域的 SSL 支持,我建议在您的 GAE 应用程序中编写您自己的 GCS 静态文件处理程序,它将处理对某个特定的所有请求基本路径,例如https://www.example.com/gcsfiles/etc其中etc将是您存储桶内的路径。使用 Cloud Storage 客户端库获取文件和元数据,并根据 mime-type 等将文件写入响应。您的处理程序还支持请求和响应中与缓存相关的标头是有道理的,否则您可能会看到实例小时数和流量显着增加。无论如何,这样的处理程序肯定会增加它们。如果这些文件不应该是公开的,并且您想要添加一些在 GCS 中不可用的复杂访问控制和生存时间,那么这种方法也可能有意义。

于 2018-02-09T08:45:38.787 回答