假设您想在 S3 上托管一个静态网站:
- 您创建一个名为 name 的存储桶
your-website.com
并将其设置为网络托管;
- 您在域的区域文件中添加 CNAME 以指向您的 S3 存储桶。
伟大的。当您访问时一切正常http://your-website.com
。但您不希望原始/“裸”端点可访问。
存储桶中是否有任何设置来禁止直接访问http://your-website.com.s3-website.your-region.amazonaws.com
?
原因是,如果您的网站可以通过以下方式访问http://your-website.com
and http://your-website.com.s3-website.your-region.amazonaws.com
会损害你的搜索引擎优化(重复内容)
您提到您最关心的是 SEO。为此,您可以使用其他技术,这些技术可能比您最初询问的技术更容易实现。
处理重复内容的主要技术之一是使用rel=canonical
,这可能相当容易实现。有关更多信息,请参阅http://googlewebmastercentral.blogspot.com.br/2013/04/5-common-mistakes-with-relcanonical.html http://googlewebmastercentral.blogspot.com.br/2013/04/5-common-mistakes-with-relcanonical.html
如果您坚持需要禁用对存储桶的访问,除非客户端通过您的 CNAME 连接,那么您最好的选择是使用 CloudFront。您禁用存储桶上的 S3 网站托管选项,将您的 S3 存储桶设置为私有(即删除允许公开读取的存储桶策略或 ACL),创建 CloudFront 分配,将您的存储桶定义为源,在分配上配置 CNAME,更改您的存储桶DNS 记录指向您的分配而不是存储桶,创建一个原始访问身份 (OAI)并授予该 OAI 对该存储桶的访问权限。唷。
通过执行所有这些操作,用户将无法访问 S3 存储桶上的内容(显然,除非他们拥有有权读取存储桶并发送签名请求的 AK/SK)。唯一的方法是通过您的域。
欲了解更多详情来源访问身份, see http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)