仅API网关访问的专用S3静态网站



我想建立一个只能通过API网关访问的静态S3网站,所以我所做的是。

S3侧
1。启用S3 bucket上的静态网站托管
2。阻止了所有公共访问
3。放入一个只允许我的VPC Endpoint访问它的bucket策略。

{ "Version": "2012-10-17", "Id": "VPCe", "Statement": [ { "Sid": "VPCe", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::my-bucket.com/*", "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-my-vpce" } } } ] }

API网关侧
1。将同一VPCE映射到API
2。已创建代理资源
3。在集成请求中,我将其设置为HTTP,并将S3网站的URL作为端点URL,内容处理为passththrough
4。但当我通过APIGW进行测试时,我会被拒绝访问。

是我遗漏了什么,还是我错误地期望它能起作用


我得到一个403,访问被拒绝。

我想建立一个只能通过API网关、访问的静态S3网站

您不能这样做,因为这是不可能的。S3静态网站只能通过公共URL访问,因此您需要从互联网访问它。

它们不意味着使用私有IP地址或任何VPC端点从VPC访问。

如果你想拥有私有静态网站,你必须在私有EC2实例或ECS容器上自己托管

最新更新