AWS中使用CloudFront分发位于S3中的静态网站

这是其中一种方法,可有变化

假设主页为index.html

还要准备一个证书,要覆盖子域名(AWS Certificate Manager->Certificates)

1、S3->Create bucket->Bucket name(myweb)->Create bucket

2、S3->Buckets->myweb->Upload->Add files Add folder

3、CloudFront->Distributions->Create->Origin domain(myweb.s3.amazonows.com)->Name(myweb)->Origin access(Origin access control settings (recommended))->Origin access control->Create new OAC->复制到S3->Alternate domain name (CNAME) - optional-> Add item->(www.youweb.com)->Custom SSL certificate - optional(提前准备好 证书*)->*Create distribution

4、Amazon S3->Buckets->myweb->Permissions->Bucket policy->Edit->粘贴到S3

5、Route 53->Hosted zones->配置域名记录

6、问题:www.youweb.com不能访问,只能访问www.youweb.com/index.html

6.1、办法,CloudFront Functions:

6.2、CloudFront->Functions->Create function->Name(index)->Create function

javascript 复制代码
function handler(event) {
    var request = event.request;

    // 如果请求路径是根路径(/),重写为 /index.html
    if (request.uri === '/') {
        request.uri = '/index.html';
    }

    return request;
}

6.3、CloudFront->Functions->index->Publish->Publish function

6.4、CloudFront->Distributions->myweb->Behaviors->Edit->Function associations *- optional->Viewer request->*Function type->CloudFront Functions->Function ARN / Name(index)

相关推荐
隐藏用户_y6 分钟前
JavaScript闭包概念和应用详解
javascript·面试
我想说一句8 分钟前
CSS 基础知识小课堂:从“选择器”到“声明块”,带你玩转网页的时尚穿搭!
前端·javascript·面试
和雍20 分钟前
”做技术分享?苟都不做“做,做的就是 module.rules 加工过程
javascript·面试·webpack
国际云25 分钟前
腾讯云国际版和国内版账户通用吗?一样吗?为什么?
大数据·运维·阿里云·云计算
仔仔 v1.028 分钟前
解决Vue3+uni-app导航栏高亮自动同步方案
前端·javascript·vue.js
Mintopia32 分钟前
Three.js 形变动画(Morph Target Animation):让 3D 模型跳起变形之舞
前端·javascript·three.js
烛阴1 小时前
模块/命名空间/全局类型如何共存?TS声明空间终极生存指南
前端·javascript·typescript
江城开朗的豌豆1 小时前
JavaScript篇:移动端点击的300ms魔咒:你以为用户手抖?其实是浏览器在搞事情!
前端·javascript·面试
华洛1 小时前
聊聊我们公司的AI应用工程师每天都干啥?
前端·javascript·vue.js