具有自定义 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 之外的任何人访问。
实现示例:
IP 地址范围更改事件:
如果更改 IP 地址列表会怎样?
您可以订阅 Lambda 并通过 lambda 自动更新您的列表。
https://aws.amazon.com/blogs/aws/subscribe-to-aws-public-ip-address-changes-via-amazon-sns/
附加安全性:
从您的 CloudFront 启用秘密 headers 并确保您仅通过您的分发而不是其他人接收请求。这伴随着保持 header 旋转的额外维护。
希望对您有所帮助。
将 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 之外的任何人访问。
实现示例:
IP 地址范围更改事件:
如果更改 IP 地址列表会怎样?
您可以订阅 Lambda 并通过 lambda 自动更新您的列表。
https://aws.amazon.com/blogs/aws/subscribe-to-aws-public-ip-address-changes-via-amazon-sns/
附加安全性:
从您的 CloudFront 启用秘密 headers 并确保您仅通过您的分发而不是其他人接收请求。这伴随着保持 header 旋转的额外维护。
希望对您有所帮助。