【Amazon】AWS实战 | 快速发布安全传输的静态页面

文章目录

    • 一、实验架构图
    • 二、实验涉及的AWS服务
    • 三、实验操作步骤
      • [1. 创建S3存储桶,存放网站网页](#1. 创建S3存储桶,存放网站网页)
      • [2. 使用ACM建立域名证书](#2. 使用ACM建立域名证书)
      • [3. 设置Cloudfront,连接S3存储桶✴️](#3. 设置Cloudfront,连接S3存储桶✴️)
      • [4. 设置Route53,解析域名服务](#4. 设置Route53,解析域名服务)
      • [5. 通过CLI工具上传网页更新内容【可选】](#5. 通过CLI工具上传网页更新内容【可选】)
    • 四、实验总结

一、实验架构图

二、实验涉及的AWS服务

  • AWS S3
  • AWS Certificate Manager(简称:ACM)
  • AWS Cloudfront
  • AWS Route 53
  • AWS CLI

三、实验操作步骤

1. 创建S3存储桶,存放网站网页

创建S3存储桶

  • Name:xybdiyaws-s3-web

测试网页代码如下:

html 复制代码
<!DOCTYPE html>
<html lang="zh-cn">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>xybaws</title>
    </head>
    <body>
        <h1>
            你好,AWS。
        </h1>
    </body>
</html>

2. 使用ACM建立域名证书

访问AWS官网ACM链接:https://aws.amazon.com/cn/certificate-manager/

  • 导航至Certificate Manager

选择请求证书

  • 域名:xybdiytop.top
  • 验证方法:DNS验证

添加标签。

  • Name:xybdiyaws.top

点击在Route S3中创建记录

勾选该域名,选择创建记录

可以查看到该域名的状态,显示是已颁发

3. 设置Cloudfront,连接S3存储桶✴️

根据如下设置,创建分配。

此时该分配的状态显示已启用

我们可以导航至S3控制台,点击之前创建的名为xybdiyaws-s3-web的存储桶之中。点击权限。下拉至存储桶策略

该存储桶依然是阻止所有公开访问的设置状态,我们可以从存储桶策略中,看到允许通过Cloudfront的去访问到该存储桶。

json 复制代码
{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E2I7O41RM11TVD"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::xybdiyaws-s3-web/*"
        }
    ]
}

通过该界面,可以查看到分配信息。

4. 设置Route53,解析域名服务

导航至Route 53,我们选择xybdiyaws.top托管的域名。


创建记录。

  • 开启别名
  • 流量路由至CloudFront分配的别名
  • 选择之前cloudfront创建临时的域名

显示已成功为xybdiyaws.top创建记录

查看显示状态。

测试通过该域名是否可以正常访问到AWS S3中的资源。

HTTPS加密传输。

5. 通过CLI工具上传网页更新内容【可选】

通过 AWS CLI 命令行工具,上传网页更新内容

前提:设置好 AWS CLI 授权配置,拥有对于 S3 的读写权限

  • 列出S3存储桶一览表
bash 复制代码
C:\Users\xyb>aws s3 ls
2023-10-30 09:41:01 xybaws-account-access-s3
2023-10-30 16:16:46 xybaws-web
2023-09-20 23:32:14 xybawsbucket
2023-11-01 09:42:28 xybdiyaws-s3-web
2023-10-31 17:41:24 xybdiyaws-web-s3
  • 测试本地应用
bash 复制代码
$ npm run dev
  • 打包编辑本地应用
bash 复制代码
$ npm run build
$ npm run generate
  • 上传至 S3 xybdiyaws 存储桶
bash 复制代码
$ aws s3 sync ./dist s3://xybdiyaws-web/ --delete

四、实验总结

通过该实验,掌握了如何创建S3存储桶并上传资源,通过ACM创建域名证书,进而设置CloudFront连接到S3存储桶,最后设置Route 53,解析该域名服务,最终达到通过该域名访问到S3存储桶中的资源的目的。

相关推荐
鸭梨山大。21 分钟前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
企业管理8MSaaS22 分钟前
如何选择适合Scrum团队的项目管理系统?
云计算·scrum
企业管理8MSaaS25 分钟前
如何在 Scrum 管理中化解团队冲突?
云计算·scrum
黑客老陈1 小时前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
代码改变世界ctw7 小时前
如何学习Trustzone
安全·trustzone·atf·optee·tee·armv8·armv9
正在走向自律9 小时前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
WTT001110 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
OkeyProxy11 小时前
HTTP、HTTPS和SOCKS5代理協議
网络协议·https·云计算·代理服务器·海外ip代理
群联云防护小杜12 小时前
如何给负载均衡平台做好安全防御
运维·服务器·网络·网络协议·安全·负载均衡
ihengshuai12 小时前
HTTP协议及安全防范
网络协议·安全·http