如何配置无服务器 S3 存储桶资源以使用 CORS AllowOrigin 设置为其函数的 http 端点
How to configure a Serverless S3 bucket resource to use a CORS AllowOrigin set to the http endpoint of its function
我正在使用 Serverless 创建一个提供静态内容的 Web 应用程序,例如来自 S3 存储桶的网络字体。 S3 存储桶在我的 serverless.yml 文件中配置为资源。它的 CORS 配置有一个 AllowOrigin 设置为通配符。
我想将其更改为具有 AllowOrigin 以及无服务器创建的服务的 http 端点,例如31alib51b6.execute-api.eu-west-1.amazonaws.com
.
我想知道是否可以在 serverless.yml 文件本身中进行配置。
我的例子serverless.yml文件:
service: example-service
provider:
name: aws
runtime: nodejs4.3
region: eu-west-1
functions:
web:
handler: handler.handler
name: ${self:service}-${self:provider.stage}
description: ${self:service} web application - ${self:provider.stage}
events:
- http:
path: web
method: get
- http:
path: web/{proxy+}
method: get
resources:
Resources:
S3Assets:
Type: AWS::S3::Bucket
Properties:
BucketName: ${self:service}-${self:provider.stage}-assets
CorsConfiguration:
CorsRules:
- AllowedMethods:
- GET
- HEAD
AllowedOrigins:
- "*"
您可以使用以下语句定义 AllowedOrigin:
CorsConfiguration:
CorsRules:
- AllowedMethods:
- GET
- HEAD
AllowedOrigins:
- Fn::Join:
- ""
- - "https://"
- Ref: ApiGatewayRestApi
- ".execute-api.eu-west-1.amazonaws.com"
"Ref: ApiGatewayRestApi"引用生成的API.
的内部名称
我正在使用 Serverless 创建一个提供静态内容的 Web 应用程序,例如来自 S3 存储桶的网络字体。 S3 存储桶在我的 serverless.yml 文件中配置为资源。它的 CORS 配置有一个 AllowOrigin 设置为通配符。
我想将其更改为具有 AllowOrigin 以及无服务器创建的服务的 http 端点,例如31alib51b6.execute-api.eu-west-1.amazonaws.com
.
我想知道是否可以在 serverless.yml 文件本身中进行配置。
我的例子serverless.yml文件:
service: example-service
provider:
name: aws
runtime: nodejs4.3
region: eu-west-1
functions:
web:
handler: handler.handler
name: ${self:service}-${self:provider.stage}
description: ${self:service} web application - ${self:provider.stage}
events:
- http:
path: web
method: get
- http:
path: web/{proxy+}
method: get
resources:
Resources:
S3Assets:
Type: AWS::S3::Bucket
Properties:
BucketName: ${self:service}-${self:provider.stage}-assets
CorsConfiguration:
CorsRules:
- AllowedMethods:
- GET
- HEAD
AllowedOrigins:
- "*"
您可以使用以下语句定义 AllowedOrigin:
CorsConfiguration:
CorsRules:
- AllowedMethods:
- GET
- HEAD
AllowedOrigins:
- Fn::Join:
- ""
- - "https://"
- Ref: ApiGatewayRestApi
- ".execute-api.eu-west-1.amazonaws.com"
"Ref: ApiGatewayRestApi"引用生成的API.
的内部名称