amazon-web-services - 适用于 VPC/VPN 的 AWS Cloudfront

标签 amazon-web-services vpn amazon-cloudfront amazon-vpc

AWS 是否允许将 Cloudfront 用于网站使用,例如:缓存网页。
网站应该只能在企业 VPN 中访问。使用受限于一个网络的应用程序时,在云端缓存网页是个好主意吗?

最佳答案

正如@daxlerod 指出的那样,可以使用相对较新的Web Application Firewall CloudFront 服务,以限制对内容的访问,例如,通过 IP 地址范围。

而且,当然,不要求网站实际托管在 AWS 中以便在其前面使用 CloudFront。

然而,“它会起作用吗?”以及“从安全角度来看,所需配置的所有含义都可以接受吗?”是两个不同的问题。

为了在站点上使用 CloudFront,必须可以从 Internet 访问源服务器(CloudFront 获取不在请求内容的边缘节点缓存中的内容的 Web 服务器),以便 CloudFront连接到它,这意味着您的私有(private)网站必须在某种程度上暴露给互联网。

CloudFront IP 地址范围是公共(public)信息,因此您可以使用源服务器的防火墙部分保护对源服务器的访问,但这只会阻止通过 CloudFront 以外的任何地方进行访问——这还不够,因为如果我知道您的“安全”服务器的名称,我可以创建自己的 CloudFront 分配并通过 CloudFront 访问它,因为 IP 地址将在同一范围内。

CloudFront 提供的用于确保请求来自和通过授权 CloudFront 分配的机制是自定义原始 header ,它允许 CloudFront 将未知的自定义 header 和 secret 值注入(inject)到它发送到您的原始服务器的每个请求中,以允许您的服务器对事实上,请求不仅来自 CloudFront,而且来自您的特定 CloudFront 分配。当然,您的原始服务器会拒绝没有带有此 header 的请求,而无需解释。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html#forward-custom-headers-restrict-access .

当然,您需要在浏览器和 CloudFront 之间使用 https,在 CloudFront 和源服务器之间需要 https。可以将 CloudFront 配置为在正面或背面分别使用(或要求)https,因此如果上述安全考虑使其成为满足您需求的可行解决方案,您将需要确保为两者正确配置。

对于不高度敏感的信息,如果 CloudFront 的缓存或其他功能对您的站点有益,这似乎是一种明智的方法。

关于amazon-web-services - 适用于 VPC/VPN 的 AWS Cloudfront,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35509336/

相关文章:

amazon-web-services - Jenkins ECS 和 EFS 出错

javascript - 如何通过 VPN 打开 iframe 链接

ios - NetworkExtension VPN iOS 将蜂窝网络更改为 Wifi

amazon-web-services - 通过 HTTP 从 Cloudfront 访问 Amazon S3

amazon-web-services - 到云端和 ec2 的基于路径的路由

javascript - 为什么Cloudfront在我的Web应用程序中加载脚本? (我不使用它)

amazon-web-services - Windows 10 - vagrant 插件安装 vagrant-aws - "libxml2"软件包不可用。 (运行时错误)

postgresql - Amazon RDS db.r4.16xlarge 并不比 m3.medium 快多少

amazon-web-services - CloudFormation 堆栈错误 - GetObject 时发生错误。 S3错误代码: NoSuchKey

macos - 如何在 OS X 下获取当前连接的 VPN 名称