将 Namecheap 域与亚马逊 S3 存储桶连接

Tec*_*irl 5 amazon-s3 amazon-web-services namecheap

我正在尝试将在 Namecheap 中注册的域连接到我的 S3 存储桶。

我在这里检查了许多与此相关的问题,但我的配置似乎没问题。

我可以通过AWS提供的静态网站端点访问该网站,但是当我在浏览器中输入自定义域时,需要很长时间才能加载,最后提示页面无法加载。

我等了超过 48 个小时,并多次尝试清理缓存。

我的男朋友可以在他的手机中访问它,但我无法使用我的任何设备访问它(我什至尝试使用我的移动数据)。我还要求我妈妈(她住在另一个国家)尝试访问它,但她不能。

我将我的域名替换为下图中的 example.com。

这是我的主机记录 主机记录

S3桶: S3 桶

“example.com”是我的主要存储桶。“www.example.com”只是将所有请求重定向到主存储桶。这是我在主存储桶中使用的存储桶策略:

 {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::example.com/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

以及我在辅助存储桶中使用的那个(www.example.com)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::www.example.com/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

静态网站托管主桶配置: 主桶静态网站托管配置

二级桶静态网站配置: 二级桶静态网站托管配置

我尝试 ping 域并返回 在此输入图像描述

当我尝试访问 ping 命令中显示的 IP 地址时,它只显示 S3 主页面。

Tec*_*irl 6

好的,所以我知道出了什么问题。

我的域名以 .dev 结尾。我不知道,但这个扩展仅适用于 HTTPS。大多数浏览器都知道仅提供 HTTPS 服务的扩展程序列表,当您键入http://example.com时,它们会自动重定向到https://example.com

我男朋友的手机浏览器(三星互联网)显然不会自动重定向,因此它可以在 http:// 上呈现我的网站。

因此,为了解决我的问题,我必须为我的域获取 SSL 证书并将其安装在 AWS 上。

这意味着使用 ACM 导入证书,然后创建使用该证书并指向 S3 存储桶的 CloudFront 分配。

现在可以了:)