AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点
admin
2023-04-03 04:41:43
0次

一、架构图

我们要实现的架构师,一台 EC2 两个虚拟主机,通过一个 ELB,一个 CloudFront 实现动静分离,并且实现不同的域名访问不同的网站,并且启用 HTTPS。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

二、实现步骤

2.1、EC2 配置

在 EC2 上面安装 nginx 服务,创建两个虚拟主机的网站文件,以及虚拟主机配置文件,分别如下:
网站路径如下,首页里面通过标签引用了图片。

├── test1
│   ├── images1
│   │   ├── 1.jpg
│   │   └── 2.jpg
│   └── index.html
└── test2
    ├── images2
    │   ├── 1.jpg
    │   └── 2.jpg
    └── index.html

两个虚拟主机对应的 nginx 配置文件如下:

     server {
        listen       80;
        server_name  test1.wzlinux.com;
        root         /usr/share/nginx/test1;

        location / {
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
    }

    server {
        listen       80;
        server_name  test2.wzlinux.com;
        root         /usr/share/nginx/test2;

        location / {
        }
    }

域名解析到 EC2,验证没有问题,测试好之后,安全组可以改为只允许 ELB 所在安全组的流量访问,其实这里也可以配置 HTTPS,这里省略。

2.2、ELB 设置

2.2.1、创建目标组

创建好目标组之后,记得添加注册实例,就是我们的 EC2。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

2.2.2、创建负载均衡器

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

我们可以添加 HTTPS 的监听(非必须),这样我们就可以加密访问了,可以设定各种规则,我们这里不需要设定,加上就行。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

然后把域名解析到我们的 ELB,分别使用 HTTP 和 HTTPS 访问我们的两个虚拟主机,都是可以正常显示各自的页面,关于证书的申请,我们可以使用 AWS 的 ACM 服务。

2.3、S3 设置

按照默认创建即可,因为我们的源站有调用图片的目录,所以我们这里也创建两个目录,以供两个虚拟主机分别调用,目录里面放好图片。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

2.4、CloudFront 分配

大致架构图如下:

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

2.4.1、创建分配

我们选择 WEB 分发方式。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

源缓存设置我们默认。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

分配设置写我们自己的虚拟主机的域名,并使用我们在 ACM 申请的证书。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

2.4.2、添加 S3 源

刚刚我们的是加速的源网站,因为我们已经把静态的图片转移到了 S3 上面,所以我们需要添加一个 S3 作为 CDN 的源。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

2.4.3、创建行为

我们创建一个动作,当用户请求的目录为images1或者images2的时候,将会把 S3 作为源,其他路径继续访问 ELB。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

然后把我们的域名解析 CNAME 指向 CDN 的域名,然后访问效果,图片是不是加载的 S3 的内容,通过日志也可以查看,我们把 Host 添加到白名单标头之后,Host 传到了 EC2,也就实现了虚拟主机的功能。

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

欢迎大家扫码关注,获取更多信息

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...