Node.js AWS API网关-弹性Beanstalk-受限访问

Node.js AWS API网关-弹性Beanstalk-受限访问,node.js,aws-api-gateway,Node.js,Aws Api Gateway,我在AmazonEB上有一个NodeJSAPI,在API网关上有一个API。 API网关配置为EB的代理 我可以毫无问题地调用我的API,它正在工作,但我不知道如何管理安全性 实际上,如果我使用API网关URL,我必须对请求进行签名(没关系!),但我可以使用EB URL,不需要任何东西 在使用API网关之前,我使用的是JWT,但现在我应该在我的节点应用程序上做什么?API网关正在使用授权标头对请求进行签名,因此我的节点应用程序可能必须检查此签名?还是别的什么?建议只对API网关进行后端访问的方法

我在AmazonEB上有一个NodeJSAPI,在API网关上有一个API。 API网关配置为EB的代理

我可以毫无问题地调用我的API,它正在工作,但我不知道如何管理安全性

实际上,如果我使用API网关URL,我必须对请求进行签名(没关系!),但我可以使用EB URL,不需要任何东西


在使用API网关之前,我使用的是JWT,但现在我应该在我的节点应用程序上做什么?API网关正在使用授权标头对请求进行签名,因此我的节点应用程序可能必须检查此签名?还是别的什么?

建议只对API网关进行后端访问的方法是使用客户端证书。看

请注意,如果将客户端证书与ELB一起使用,则必须在tcp模式下配置ELB,并终止应用程序服务器上的SSL连接,因为ELB不支持客户端证书验证


另一种方法是将API网关配置为添加带有秘密值的头,然后在处理请求之前在应用程序服务器上验证该值。这通常被认为不太安全,因为攻击者更容易获取您的秘密值。至少,您希望在API网关和应用服务器之间使用SSL,这样机密就不会以明文形式发送。

希望VPC资源在某个时候可以通过API网关访问到代理,就像Lambda函数一样。这将清理一些EB应用程序被迫公开的弹性Beanstalk用例。我认为在许多用例中,如果可以从API网关访问到代理,则分布在私有子网上的ElasticBeanstalk应用程序就足够了(不确定这是否适用于OP)。