AWS api首次访问时丢失Cors

时间:2018-08-06 22:25:33

标签: aws-lambda aws-api-gateway serverless-framework

我很奇怪(或者至少对我来说是这样)。我使用无服务器技术在AWS APIG上部署了一个api。在此api中,有两个端点,一个端点(A),另一个端点(B)。

在serverless.yml之后使用“无服务器部署”对api进行初始部署后,在启用了CORS的情况下,GET端点可以正常工作,但是发布不起作用。因此我必须从APIG控制台启用两个端点的cors。然后从控制台部署api。

现在回到前端,获取请求可以正常工作,而当需要进行发布请求时,它也可以正常工作。因此,从现在开始,应该没问题,但是在此之后发生的事情很奇怪。让请求停止工作,说它没有启用CORS,直到我重新部署POST停止工作后,它才开始工作。

那是我的serverless.yml

# NOTE: update this with your service name
service: api

# Use the serverless-webpack plugin to transpile ES6
plugins:
- serverless-webpack
- serverless-offline

# serverless-webpack configuration
# Enable auto-packing of external modules
custom:
webpack:
webpackConfig: ./webpack.config.js
includeModules: true

provider:
 name: aws
 runtime: nodejs8.10
 stage: dev
 region: eu-west-2
 iamRoleStatements:
- Effect: Allow
  Action:
    - dynamodb:DescribeTable
    - dynamodb:Query
    - dynamodb:Scan
    - dynamodb:GetItem
    - dynamodb:PutItem
    - dynamodb:UpdateItem
    - dynamodb:DeleteItem
  Resource: "arn:aws:dynamodb:eu-west-2:*:*"

functions:
selections:
handler: endpoints/selections.main
events:
  - http:
      path: selections
      method: post
      cors: true
      authorizer: arn:aws:lambda:eu-west-2:xxxx:function:eca-custom-atuh
activities:
  handler: endpoints/activities.main
  events:
  - http:
      path: activities
      method: get
      cors: true
      authorizer: arn:aws:lambda:eu-west-2:xxxx:function:eca-custom-atuh

0 个答案:

没有答案