sum*_*n j 1 apache amazon-web-services elastic-ip
如果我使用 Elastic IP 在 AWS EC2 上托管一个网站,并且我想限制仅美国地区用户访问该网站,是否有任何简单的方法可以做到这一点?网站由 Apache 提供支持。
根据这个链接
.htaccess可能是一种选择,但没有找到一种方法将我的网站仅锁定给美国地区的用户。
我将把我的回答限制在亚马逊服务上。
能够按世界位置阻止访问是当今的一个重要问题。由于有关内容位置/存储位置的各种政府法规,在某些情况下控制访问可能是法律要求。
Amazon 拥有三种支持地理定位的服务:Route53、CloudFront 和 WAF(Web 应用程序防火墙)。没有任何服务是完全万无一失的,但考虑到亚马逊网络的规模、所有认证、政府合规性等。我倾向于相信亚马逊的地理位置会比自制设置更好。
您的问题指定了弹性 IP 地址。我不知道亚马逊服务支持对您的 EIP 进行地理定位阻止。相反,您需要使用 Route53 并为该 EIP 创建一个资源记录集 (RRS) 或通常称为域名或子域名。然后将服务器放在私有子网中,或者将前端服务(CloudFront 和/或 ALB)放在同一个安全组中,以限制谁可以访问 EIP。注意:私有子网不支持 EIP,ALB 不需要。
将地理定位配置为 Route53、CloudFront 或 WAF(最好是这些服务的组合)设置的一部分。您可以选择世界的某些地区(例如美国)来接受来自其他所有人的流量并阻止其他所有人。
如果我要构建一个不需要自动扩展的小型设置,我会在我的服务器前面使用 Route53 和 CloudFront。为了获得更高的容错性和高可用性,我会将服务器放入私有子网中,并在 CloudFront 和 Route53 后面添加带有 ASG(自动缩放组)的负载均衡器,并将 WAF 添加到 CloudFront(或 ALB)。
通过 NACL 和安全组的 Amazon VPC 不支持任何形式的地理定位。安全组和 NACL 只是具有特定功能集的非常快速的防火墙。如果客户群受到严格控制(例如一组开发人员或业务合作伙伴),但对于公开访问的 Web 服务器(例如客户门户)而言,则可以使用 VPN。人们可能认为可以使用用户名或 SSH 密钥,但这并不能控制地理,只是身份验证。用户仍然可以从俄罗斯访问法国的服务器。如果要求是地理定位,那么线程中的三个 Amazon 服务是基于地理定位的策略的不错选择。
路线53:
云前线:
亚玛森WAF: