如何将S3+Cloudfront暂存服务器限制为特定IP



我正在尝试设置通过S3和cloudfront提供服务的临时服务器。下面是我的遗愿政策。

a( 如果我直接访问S3 url,一切都很好。

b( 如果我访问cloudfront根域www.staging.example.com,一切都很好。

然而,一旦我访问www.staging.example.com/login(或任何非根url(,就会出现403 Forbidden AccessDenied错误。我该如何解决这个问题?

{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::staging-server/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"XXX",
"XXX",
]
}
}
}
]
}

如果您打算仅通过CloudFront为站点提供服务,则应重新配置S3存储桶策略,以允许访问CloudFront分发的CloudFront Origin access Identity,并从存储桶策略中删除所有IP地址条件。

要将对分发的访问限制为IP白名单,请配置AWS WAF和IPSet。使用WAF v2,而不是原始WAF。

关于非根url问题,您实际上有一个名为login的文档吗?

最新更新