文档章节

在Amazon S3 上架设静态网站

topdogs
 topdogs
发布于 2012/01/17 16:59
字数 570
阅读 1012
收藏 0

s3简单使用文章中,简单的说道了s3的website功能。可以把s3的buckets当做一个静态网站来浏览,并做了一个简单的页面。

但是有2个问题没有解决。

1.域名问题。

http://lixin.s3-website-ap-northeast-1.amazonaws.com/ 这么有长度的域名肯定不是友好的。如果你自己拥有一个域名,那么一定是希望弄个简单好记有意义的名字来访问。这时候你需要设置别名(cname)来访问。

2.访问权限问题。

之前文章的例子中,整站只有2个文件,我都是手动设置他们的属性为everyone可读。假使你的静态网站很多文件,那么手动设置不可能,得使用一个配置文件来全局设置才行。

首先,我在s3上新建了一个叫“lixin-log”的buckets,获得其地址http://lixin-log.s3-website-ap-northeast-1.amazonaws.com/ ,然后新建一个别名cname(log.lixin.me)指向这个地址,然后访问。发现以下错误。

404 Not Found

  • Code: NoSuchBucket
  • Message: The specified bucket does not exist
  • BucketName: log.lixin.me

错误显示,找不到一个叫做“log.lixin.me”的buckets。确实,我只新建了一个叫“lixin-log”的buckets。

从错误提示中,我们可以知道,使用别名映射的时候,你的buckets的名字应该和别名一致。即我使用一个叫做“log.lixin.me”的域名来访问s3,那么在s3上的buckets的名字就应该叫做“log.lixin.me”。域名对应buckets名。

 

当域名和buckets名字问题解决后,再次浏览,之前的404错误页面没有了,取而代之的是403页面。

403 Forbidden

  • Code: AccessDenied
  • Message: Access Denied

没有权限访问。因为现在里面的文件都还是私有的,没有配置everyone可读。这里不再是手动一个个的设置,而是使用Policy文件来设置。

Policy是一个json文本,在buckets属性的Permission选项卡里。

{
  "Id": "Policy1326378188459",
  "Statement": [
    {
      "Sid": "Stmt1326378181469",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::s3.lixin.me/*",
      "Principal": {
        "AWS": [
          "*"
        ]
      }
    }
  ]
}

上面就是一个简单的policy文件。大致意思就是,允许*所有用户具有读取s3.lixin.me这个buckets下的所有文件。这样就把整个buckets当作可读的静态网站了。

 

原文出处

© 著作权归作者所有

共有 人打赏支持
topdogs

topdogs

粉丝 41
博文 39
码字总数 12877
作品 2
汕头
高级程序员
私信 提问
RestKit 和 ASIHTTPRequest 两个框架相比较

ASIHTTPRequest 基于CFNetwork , 主要提供了如下功能: 封装HTTP Request/Response; 支持同步/异步请求, gzip压缩; 支持队列(ASINetworkQueue); 一些围绕HTTP Request/Response的辅助功能...

Sarah_doo
2013/02/27
0
0
关于支持Rails的中国linux虚拟主机

大家好,我最近做了一个rails应用。架设在了heroku上,上传文件存储在amazon s3上。在国外访问速度还行,无缓存时,chrome和firefox的测试结果大约在5秒左右。问题是国内的访问速度不尽人意,...

geeky&nerdy
2012/01/04
827
3
基于AWS的媒体内容服务应用架构

提供数字内容服务最基本也是最简单任务那就是在低于预算的前提下,实现低延迟,高可用性,耐用性,访问控制,以及数百万的并发浏览。此外,因为“尖峰”模式的,运营团队经常需要提供静态的硬...

abel_cao
01/26
0
0
Syllable内容管理系统被移植进Syllable桌面

Syllable内容管理系统被移植进Syllable桌面 发表于:2010-12-10 18:53 UTC 组成Syllable网站的CMS(内容管理系统)到前段时间为止还只用在Syllable服务器上。但现在已经被移植到Syllable桌面...

xyxzfj
2010/12/11
768
0
基于AWS的金融服务网格计算系统架构

基于云环境的金融服务网格计算提供了对计算作业按需操作的动态扩展和弹性,利用聚合服务简化了网格软件的开发。 对硬件的按需配置和模板驱动的部署,结合对现有内部部署的数据源的低延迟访问...

abel_cao
01/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka入门

1、Kafka使用背景 在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词...

watermelon11
昨天
0
0
Cannot list resources Permission denied: user=Administrator, access=READ_EXECUTE, inode="/tmp"

Cannot list resources Permission denied: user=ÁõÎĺÁ, access=READ_EXECUTE, inode="/tmp":root:supergroup:drwx-wx-wx windows系统 Spring boot 整合hadoop时报错。 java.lang.Ille......

lwenhao
昨天
1
0
【结构型】- 享元模式

享元模式 作用:利用共享技术有效地支持大量细粒度对象的复用 享元模式状态 内部状态:在享元对象内部不随外界环境改变而改变的共享部分,存储于享元对象内部 外部状态:随着环境的改变而改变...

ZeroneLove
昨天
2
0
Vue 中使用UEditor富文本编辑器-亲测可用-vue-ueditor-wrap

一、Vue中在使用Vue CLI开发中默认没法使用UEditor 其中UEditor中也存在不少错误,再引用过程中。 但是UEditor相对还是比较好用的一个富文本编辑器。 vue-ueditor-wrap说明 Vue + UEditor + ...

tianma3798
昨天
5
0
php-fpm配置

php-fpm配置 修改bbs.wangzb.cc.conf配置文件,将端口9000改为9001,重新访问网站是失败的 修改配置文件 # vim /etc/nginx/conf.d/bbs.wangzb.cc.conf# nginx -s reloadfastcgi_pass 1...

wzb88
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部