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

Amazon s3 s3托管网站发出http请求的安全组,amazon-s3,amazon-ec2,aws-security-group,Amazon S3,Amazon Ec2,Aws Security Group,假设我有一个S3托管的网站。除此之外,我还有一个EC2,可以接收来自该网站的http请求。有没有一种方法可以设置一个安全组,以便EC2只能从该网站接收http请求?我知道,如果该网站托管在另一个EC2上,我可以使用IP地址或负载平衡器,但我不确定在S3网站的情况下如何操作。当您在S3上启动网站时,您将获得所有静态前端内容(就像本地机器上没有Web服务器的纯HTML/CSS/Javascript网站一样)。意味着指向EC2实例的所有调用、XHR或嵌入式资源都是由访问者浏览器生成的请求,它们的IP来

假设我有一个S3托管的网站。除此之外,我还有一个EC2,可以接收来自该网站的http请求。有没有一种方法可以设置一个安全组,以便EC2只能从该网站接收http请求?我知道,如果该网站托管在另一个EC2上,我可以使用IP地址或负载平衡器,但我不确定在S3网站的情况下如何操作。

当您在S3上启动网站时,您将获得所有静态前端内容(就像本地机器上没有Web服务器的纯HTML/CSS/Javascript网站一样)。意味着指向EC2实例的所有调用、XHR或嵌入式资源都是访问者浏览器生成的请求,它们的IP来源为,来源为“S3或者,如果您将CloudFront放在S3上,它将是CloudFront,作为HTTP头中的源,与EC2的目标目标进行通信(您的Web服务器在端口80or443上提供服务)。没有可应用于铲斗的SG。但是,S3存储桶可以配置一个策略,将某些IP地址列为白名单,以访问存储桶内容,随后访问存储桶上承载的静态Web内容。您还可以强制执行CORS政策,并有条件检查推荐人和原产地

抛开Bucket级别的策略、IP白名单、CORS和条件限制不谈,如果您从CloudFront发行版提供Web S3 Bucket,那么您也可以在CloudFront级别应用GEOIP限制规则


以防万一,如果您在EC2上有一个API服务器,它将被您的CloudFront域调用,那么您可以在CloudFront和EC2 Web级别应用一些访问控制来强制实施严格的CORS策略。也就是说,互联网上的其他网站不能劫持您的API服务或进行CSRF攻击(同样仅作为浏览器级别的保护)

实际上,你所问的问题有一个概念上的问题。到服务器的请求流量不是“来自”网站。它来自于呈现站点的浏览器,您通常需要处理的只是浏览器的断言(例如,
Referer
Origin
),它确实呈现了特定站点。。。但这些断言并不能保证真实性。该机制是否足够取决于您试图保护的内容类型。