如何禁用Amazon S3原始端点访问

 里 发布于 2022-12-04 01:22

假设您想在S3上托管静态网站:

    您创建一个带有名称的存储桶your-website.com并将其设置为Web托管;

    您在域的区域文件中添加CNAME以指向您的S3存储桶.

大.你访问时一切正常http://your-website.com.但是您不希望可以访问原始/"裸"端点.

存储桶中是否有任何设置禁用直接访问http://your-website.com.s3-website.your-region.amazonaws.com

原因是,如果您的网站可以访问http://your-website.com并且http://your-website.com.s3-website.your-region.amazonaws.com会损害您的SEO(重复内容)

1 个回答
  • 你提到你的主要关注点是SEO.为此,您可以使用其他技术,这些技术可能比您最初提出的技术更容易实现.

    处理重复内容的主要技术之一是使用rel=canonical,这可能相当容易实现.有关详细信息,请参阅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具有读取存储桶的权限,并且显然发送已签名的请求).唯一的方法是通过您的域名.

    有关Origin Access Identity的更多详细信息,请参阅http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

    2022-12-11 02:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有