
[英]How to allow only cloudfront to access my api (elb)load balancer hosted on ec2 in AWS?
[英]AWS Restrict access from cloudfront to load balancer
我将 Cloudfront 与负载平衡和 ec2 实例一起使用。
在 AWS 中,我的负载均衡器接受来自所有 http 连接的流量。 可以限制它只接受来自我的 Cloudfront 发行版的 http 连接吗? 我该怎么做?
谢谢。
AFAIK,您不能在第 3 层执行此操作,因为 ELB 将允许从任何地方 (0.0.0.0/0) 进行访问。
如果您正在运行 Apache 并且可以找到 cloudfront 使用/设置的特定标头,那么您可以使用 mod_headers 在第 7 层执行此操作。
根据http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html cloudfront 将 Header Via
设置为1.1 alphanumeric-string.cloudfront.net ,因此您可以通过执行某些操作在您的虚拟主机中进行匹配喜欢:
SetEnvIf Via "^1\.1\ [a-z0-9]+\.cloudfront\.net$ VIA_CLOUDFRONT
<LocationMatch /origin/>
Options -Indexes
Order deny,allow
Deny from all
# allow from cloudfront only
Allow from env=VIA_CLOUDFRONT
</LocationMatch>
现在有一个解决方案。 现在有一个 lambda 可以侦听来自 amazon 的 IP 更新,并将使用 Cloudfront IP 更新您的安全组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.