我正在使用Serverless创建一个Web应用程序,该应用程序从S3存储桶中提供其静态内容,例如Web字体。S3存储桶在我的serverless.yml文件中配置为资源。它的CORS配置将AllowOrigin设置为通配符。
我想将其更改为具有由Serverless创建的服务的http端点的AllowOrigin,例如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"
“引用:ApiGatewayRestApi”引用生成的API的内部名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句