只允许 AWS API Gateway 访问 EC2 实例
Posted
技术标签:
【中文标题】只允许 AWS API Gateway 访问 EC2 实例【英文标题】:Only allow AWS API Gateway to access EC2 instance 【发布时间】:2016-07-23 01:37:18 【问题描述】:我们的 api 在 AWS EC2 实例上运行。我们对使用 Cognito 和版本控制对 API 调用进行身份验证的 AWS API Gateway 很感兴趣。
谁能告诉我如何在不公开的情况下允许访问托管在 EC2 实例上的 API?我只希望 API Gateway 访问该 API。
我无法在文档中找到任何解决方案。
【问题讨论】:
【参考方案1】:上一个答案:
您的服务器必须是公开的,API Gateway 才能访问它。此时最好的解决方案是使用客户端 SSL 证书,以便您的服务器可以轻松拒绝任何不是来自 API 网关的流量。
http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html
更新答案:
您现在可以在您的 VPC 中放置一个不可公开访问的私有网络负载均衡器,并在 API Gateway 中启用 VPCLink 以允许 API Gateway 向私有 NLB 发送请求。
【讨论】:
好的,谢谢,还有什么我应该考虑增加安全性的吗,或者这就足够了。 这样做会完全锁定对您服务器的访问,仅限 API 网关。 好的,我所要做的就是在我的 nginx 后端使用ssl_client_certificate
和ssl_verify_client
?谢谢。以上是关于只允许 AWS API Gateway 访问 EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章
调用 AWS API Gateway Private 无法从 Front 访问,但 EC2 有效
AWS Api Gateway CORS“访问控制允许来源”正则表达式与 Cloudformation
AWS EC2 与 AWS API Gateway 上的 Node.js RESTful API 服务器
将托管在 AWS EC2 上的 Asp.net Web api 连接到 AWS API Gateway