首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >私有HTTP事件可以与Serverless一起使用吗?

私有HTTP事件可以与Serverless一起使用吗?
EN

Stack Overflow用户
提问于 2019-12-28 21:16:27
回答 2查看 433关注 0票数 0

我希望有这样的架构:

在这里,ScoringService有GET和POST端点。POST端点可能仅适用于VPC内的服务(ExerciseService和QuizService)。ScoringService的GET终结点必须可用于客户端。

根据Serverless documentation的说法,我可以将整个ScoringService设置为私有。但是对于这个架构,我只希望POST端点是私有的。客户端应该可以访问GET端点。

所以就像这样:

代码语言:javascript
复制
service: my-service
 provider:
 name: aws
 functions:
  scoring:
   events:
    - http:
      path: score
      method: get
      endpointType: EDGE
    - http:
      path: score
      method: post
      endpointType: PRIVATE

但我不认为这是一个有效的无服务器配置。上面的架构在无服务器的情况下是不是可能的?

EN

回答 2

Stack Overflow用户

发布于 2019-12-29 03:46:57

是的,你可以使用私有函数。

因此,您在这里可以做的是将ScoringService的post函数设置为私有。

代码语言:javascript
复制
service: my-service
provider:
  name: aws
  apiKeys:
    - myFirstKey 
functions:
 getScoring:
    events:
      - http:
          path: <your-scoring-get-path>
          method: get
 postScoring:
    events:
      - http:
          path: <your-scoring-post-path>
          method: post
          private: true

因此,现在连接到此post Rest API的客户端将需要在其请求的x- API -key头中设置这些api键值中的任何一个。这仅对于private属性设置为true的函数是必需的。

有关设置this接口密钥的更多信息,请阅读。

票数 2
EN

Stack Overflow用户

发布于 2019-12-29 04:08:27

内网API

属性接口的作用是使整个endpointType=private成为私有网络内部的接口。因此,该属性不适用于端点。

受保护的端点

如果您只是想保护api终结点,则可以将该api终结点配置为仅在提供api密钥时才可访问。您可以通过将属性private设置为true来完成此操作,如果这样做,api仍然是公共可访问的,但api端点受api-key.The api key保护,该api key预计将在x-api-key标头中发送。请记住,这与内部api不同,内部api是私有网络内部的,不能公开访问。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59511237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档