将 Namecheap 域与 amazon S3 存储桶连接起来

Connect Namecheap domain with amazon S3 buckets

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

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

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

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

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

我在下面的图片中用 example.com 替换了我的域名。

这是我的主机记录

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/*"
        }
    ]
}

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

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

主桶静态网站托管配置:

二级桶静态网站配置:

我尝试对域执行 ping 操作 returns

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

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

我的域以 .dev 结尾。我不知道,但此扩展仅适用于 HTTPS。 大多数浏览器都知道仅提供 HTTPS 的扩展列表,当您键入 http://example.com, they automatically redirect to https://example.com.

我男朋友的 phone 浏览器 (Samsung Internet) 显然不会自动重定向,因此它可以在 http://.

上呈现我的网站

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

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

现在有效:)