s3托管网站的安全组发出http请求

时间:2018-05-22 04:21:25

标签: amazon-s3 amazon-ec2 aws-security-group

我们假设我有一个S3托管网站。除此之外,我有一个EC2,可以接收来自该网站的http请求。有没有办法可以设置安全组,以便EC2只能从该网站接收http请求?我知道,如果网站是在另一个EC2上托管的,我可以通过IP地址或负载均衡器,我只是不确定如何在S3网站案例中进行。

1 个答案:

答案 0 :(得分:0)

在S3上启动网站时,将提供所有静态前端内容(就像在本地计算机上没有Web服务器的纯HTML / CSS / Javascript网站一样)。表示指向您的EC2实例的所有呼叫,XHR或嵌入式资源都是由访问者浏览器和网络其IP来源通过生成生成的请求“ S3的来源”,或者如果您将CloudFront放在S3上,它将是CloudFront作为HTTP标头中的“来源”)与EC2的目标目标进行通信(您的WebServer在端口80或443上提供服务)。但是,可以为S3存储桶配置策略,以将某些IP地址列入白名单,以访问存储桶内容以及随后托管在其上的静态Web内容;您还可以强制执行CORS策略并具有检查裁判和起源的条件。

撇开存储桶级策略,IP白名单,CORS和条件限制,如果您从CloudFront发行版提供Web S3存储桶,则也可以在CloudFront级别应用GEOIP限制规则。

如果假设您在EC2上有一个API服务器,而CloudFront域将要调用它,则可以在CloudFront和EC2 Web级别上应用一些访问控制以实施严格的CORS策略。即Internet上的其他网站无法劫持您的API服务或进行CSRF攻击(同样仅作为浏览器级别保护)。