具有自定义 HTTPS 源的 AWS CloudFront,只允许来自 CF 的源请求?

AWS CloudFront with custom HTTPS origin, only allow origin requests from CF?

将 CloudFront 与自定义 HTTPS 源一起使用时,我的 DNS 设置如下

domain.com -> A (Alias) -> CloudFront Distribution Alias
origin.domain.com -> IPaddress of HTTPS server

我意识到源服务器需要可以从任何边缘位置访问,但是如果我能以某种方式将我的 HTTPS 源服务器配置为仅接受来自 CloudFront 边缘的传入连接,从而消除任何可能的连接,那就太好了可以通过 user/bot 直接访问。这可能吗?

您可以使用云前端 IP 地址进行限制,

CloudFront IP 地址列表:

https://ip-ranges.amazonaws.com/ip-ranges.json

    {
      "ip_prefix": "13.32.0.0/15",
      "region": "GLOBAL",
      "service": "CLOUDFRONT"
    }

在文件中搜索 CLOUDFRONT 作为服务并将 IP 限制设置到您的端点或您的安全组。这将防止除 cloudfront 之外的任何人访问。

实现示例:

https://aws.amazon.com/blogs/security/how-to-automatically-update-your-security-groups-for-amazon-cloudfront-and-aws-waf-by-using-aws-lambda/

IP 地址范围更改事件:

如果更改 IP 地址列表会怎样?

您可以订阅 Lambda 并通过 lambda 自动更新您的列表。

https://aws.amazon.com/blogs/aws/subscribe-to-aws-public-ip-address-changes-via-amazon-sns/

附加安全性:

从您的 CloudFront 启用秘密 headers 并确保您仅通过您的分发而不是其他人接收请求。这伴随着保持 header 旋转的额外维护。

希望对您有所帮助。