AWS EC2 / Elastic Beanstalk |如何按域列入白名单?

Posted

技术标签:

【中文标题】AWS EC2 / Elastic Beanstalk |如何按域列入白名单?【英文标题】:AWS EC2 / Elastic Beanstalk | How to white list by domain? 【发布时间】:2020-12-01 12:02:33 【问题描述】:

我有一个 Elastic Beanstalk 环境,它是一个节点 API。我在域上的 AWS 之外还有一个 Angular Web 应用程序:www.example.com

我将如何做到这一点,以便仅从“www.example.com”调用 AWS 环境(可以访问节点 API?

我熟悉 AWS 安全组,但它不处理域白名单(仅限 IP)。由于用户将使用 www.example.com 在不同的 IP 上,我需要按域而不是 IP 列入白名单。

任何帮助将不胜感激!

【问题讨论】:

你的应用是如何被其他应用集成的? API、iFrame、嵌入资产(即仅图像、css、js) Angular Web 应用程序使用对 Node API 的 HTTP 请求。另请注意,AWS 中没有数据(数据库、存储桶等)。我想要实现的概念似乎很常见,但我在 AWS 中找不到这个功能。感谢您的帮助???? 【参考方案1】:

在不通过 IP 阻止的情况下,您唯一的选择是将WAF 附加到ALB in your Elastic Beanstalk environment。

通过这样做,您可以只允许符合一组条件的流量,如果您的请求在向后端发出请求时包含特定标头,那么您可以允许来自这些来源的请求。

假设对 API 的请求是从前端发出的,您应该有一个 referrer header,其中包含上一页的源代码。您可以在 WAF 中将此域列入白名单。

【讨论】:

澄清一下,当您说“在 WAF 中将此域列入白名单”时,您的意思是 WAF 中的域功能有一个实际的白名单,还是您的意思是使用 WAF 的字符串/正则表达式匹配功能并创建一个规则将我的域的字符串与引荐来源标题匹配? 您必须创建自己的规则才能将域列入白名单:)。 完全按照说明工作! 有没有办法为 beanstalk 设置一个 config 文件,就像这里的 aws.amazon.com/premiumsupport/knowledge-center/… 一样,将域列入白名单? 嗯,是的,文章中的这个功能似乎正好相反。我希望你能阻止所有,只允许某些域。

以上是关于AWS EC2 / Elastic Beanstalk |如何按域列入白名单?的主要内容,如果未能解决你的问题,请参考以下文章

在一个 AWS EC2 实例上运行多个环境 (Elastic Beanstalk)

AWS EC2 / Elastic Beanstalk |如何按域列入白名单?

从 Elastic Beanstalk 连接到托管在 AWS ec2 上的 MongoDB

针对 AWS Elastic Search HTTP 请求在 EB 上对 EC2 进行身份验证

使用 AWS Elastic Beanstalk 将多个应用程序部署到单个 EC2 实例

使用 Elastic Beanstalk 创建时的 AWS EC2 .pem 证书