本页面展示了跨域资源共享 (CORS) 的示例配置。为存储桶设置 CORS 配置时,您可以允许来自不同来源的资源之间进行交互,但通常情况下,为了防止恶意行为,并不允许这种交互。
基本 CORS 配置
假设您有一个动态网站,用户可以通过 your-example-website.appspot.com
访问该网站。您在 Cloud Storage 存储桶中托管了一个名为 your-example-bucket
的图片文件。您希望在您的网站上使用该图片,因此必须在 your-example-bucket
上应用 CORS 配置,以使用户的浏览器能够从存储桶请求资源。根据以下配置,预检请求在 1 小时内有效,并且成功的浏览器请求会在响应中返回资源的 Content-Type
。
命令行
gcloud 命令示例
gcloud storage buckets update gs://example_bucket --cors-file=example_cors_file.json
包含 CORS 配置的 JSON 文件示例
[ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ]
如需详细了解如何使用 Google Cloud CLI 设置 CORS 配置,请参阅 gcloud storage buckets update
参考文档。
REST API
JSON API
{ "cors": [ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ] }
如需了解 CORS 配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法。
XML API
<?xml version="1.0" encoding="UTF-8"?> <CorsConfig> <Cors> <Origins> <Origin>https://your-example-website.appspot.com</Origin> </Origins> <Methods> <Method>GET</Method> </Methods> <ResponseHeaders> <ResponseHeader>Content-Type</ResponseHeader> </ResponseHeaders> <MaxAgeSec>3600</MaxAgeSec> </Cors> </CorsConfig>
如需了解 CORS 配置文件的通用格式,请参阅适用于 XML 的 CORS 配置格式。
从存储桶中移除 CORS 设置
如需从存储桶中移除 CORS 设置,请提供空的 CORS 配置文件。
命令行
使用带有 --clear-cors
标志的 gcloud storage buckets update
命令时,您可以从存储桶中移除 CORS 配置:
gcloud storage buckets update gs://BUCKET_NAME --clear-cors
其中 BUCKET_NAME 是您要移除其 CORS 配置的存储桶的名称。
客户端库
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下示例从存储桶中移除任何现有 CORS 配置:
REST API
JSON API
在存储桶上设置以后,以下配置将从存储桶中移除所有 CORS 设置:
{ "cors": [] }
如需了解 CORS 配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法。
XML API
在存储桶上设置以后,以下配置将从存储桶中移除所有 CORS 设置:
<CorsConfig></CorsConfig>
如需了解 CORS 配置文件的通用格式,请参阅适用于 XML 的 CORS 配置格式。
后续步骤
- 详细了解跨域资源共享 (CORS)。
- 在存储桶上设置和查看 CORS 配置。