AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 879658
Accepted
Adam Matan
Adam Matan
Asked: 2017-10-22 20:10:23 +0800 CST2017-10-22 20:10:23 +0800 CST 2017-10-22 20:10:23 +0800 CST

Route53 子域未使用 nslookup 解析

  • 772

我的问题

我正在尝试构建个人 CDN 以与我的联系人共享静态文件。该设计包括一个 S3 存储桶、一个 CloudFront 分配和一个通过 Route53 注册的子域,所有这些都使用 Terraform 进行配置。

但是,我可以通过 S3 和 Cloudfront 访问我的文件,但不能通过我的子域 ( cdn.adamatan.com)。

什么工作

S3

curl http://cdn.adamatan.com.s3.amazonaws.com/index.html

CloudFront

curl https://d36tl9ayobqfgg.cloudfront.net/index.html

什么坏了

我无法使用子域获取文件。而且,nslookupforcdn.adamatan.com和adamatan.condoes 都不行。我认为我以某种方式错误配置了 Route53。

配置

领域

在此处输入图像描述

托管区域

在此处输入图像描述

地形配置

variable "hosted_zone" {
  default = "adamatan.com"
}

variable "domain" {
  default = "cdn.adamatan.com"
}

variable "aws_region" {
  default = "us-east-1"
}

provider "aws" {
  region  = "${var.aws_region}"
  profile = "personal"
  version = "~> 1.1"
}

/*
   The S3 bucket storing the files. It must bear the same name as the domain
   pointing to it. See https://gist.github.com/danihodovic/a51eb0d9d4b29649c2d094f4251827dd,
   and http://stackoverflow.com/a/5048129/2966951
*/
resource "aws_s3_bucket" "adamatan_cdn_bucket" {
  bucket = "${var.domain}"
  acl = "public-read"

  policy = <<EOF
{
      "Version":"2008-10-17",
      "Statement":[{
        "Sid":"AllowPublicRead",
        "Effect":"Allow",
        "Principal": {"AWS": "*"},
        "Action":["s3:GetObject"],
        "Resource":["arn:aws:s3:::${var.domain}/*"]
      }]
    }
  EOF

  tags {
    Description = "Origin bucket for my personal CDN"
  }
}

resource "aws_route53_zone" "cdn_zone" {
  name = "${var.hosted_zone}"
}

resource "aws_route53_record" "root_domain" {
  zone_id = "${aws_route53_zone.cdn_zone.zone_id}"
  name = "${var.domain}"
  type = "A"

  alias {
    name = "${aws_cloudfront_distribution.adamatan_cdn_distribution.domain_name}"
    zone_id = "${aws_cloudfront_distribution.adamatan_cdn_distribution.hosted_zone_id}"
    evaluate_target_health = false
  }
}

resource "aws_cloudfront_distribution" "adamatan_cdn_distribution" {
  origin {
    domain_name = "${var.domain}.s3.amazonaws.com"
    origin_id   = "${var.domain}"
  }

  enabled             = true
  is_ipv6_enabled     = true
  comment             = "Permanent public file distribution"
  default_root_object = "index.html"

  aliases = ["${var.domain}"]

  default_cache_behavior {
    allowed_methods  = ["GET", "HEAD", "OPTIONS"]
    cached_methods   = ["GET", "HEAD"]
    target_origin_id = "${var.domain}"

    forwarded_values {
      query_string = false

      cookies {
        forward = "none"
      }
    }

    viewer_protocol_policy = "allow-all"
    min_ttl                = 60
    default_ttl            = 300
    max_ttl                = 86400
  }

  price_class = "PriceClass_All"

  restrictions {
    geo_restriction {
      restriction_type = "none"
    }
  }

  viewer_certificate {
    cloudfront_default_certificate = true
  }
}


output "domain" {
  value = "${var.domain}"
}

output "cdn_domain" {
  value = "${aws_cloudfront_distribution.adamatan_cdn_distribution.domain_name}"
}

我的问题

如何使用 Terraform(最好支持 SSL)将我的子域 ( cdn.adamatan.com) 映射到我的云端分发 ( )?d36tl9ayobqfgg.cloudfront.net

amazon-s3
  • 1 1 个回答
  • 3632 Views

1 个回答

  • Voted
  1. Best Answer
    Esa Jokinen
    2017-10-22T21:46:24+08:002017-10-22T21:46:24+08:00

    在 Amazon Hosted Zone 中,您拥有与注册商不同的名称服务器集。

    Domain Name: ADAMATAN.COM
    Registrar: Gandi SAS
    Name Server: NS-1193.AWSDNS-21.ORG
    Name Server: NS-1889.AWSDNS-44.CO.UK
    Name Server: NS-4.AWSDNS-00.COM
    Name Server: NS-1193.AWSDNS-21.ORG
    

    上面的名称服务器都没有回答adamatan.com SOA& cdn.adamatan.com。这些名称服务器没有配置您的域,而您区域上的服务器集具有:

    ;; ANSWER SECTION:
    cdn.adamatan.com.       60      IN      A       13.33.23.245
    cdn.adamatan.com.       60      IN      A       13.33.23.59
    cdn.adamatan.com.       60      IN      A       13.33.23.22
    cdn.adamatan.com.       60      IN      A       13.33.23.89
    cdn.adamatan.com.       60      IN      A       13.33.23.45
    cdn.adamatan.com.       60      IN      A       13.33.23.248
    cdn.adamatan.com.       60      IN      A       13.33.23.169
    cdn.adamatan.com.       60      IN      A       13.33.23.94
    
    ;; AUTHORITY SECTION:
    adamatan.com.           172800  IN      NS      ns-1511.awsdns-60.org.
    adamatan.com.           172800  IN      NS      ns-1730.awsdns-24.co.uk.
    adamatan.com.           172800  IN      NS      ns-378.awsdns-47.com.
    adamatan.com.           172800  IN      NS      ns-936.awsdns-53.net.
    

    前往您的 Gandi 帐户的域名管理,并相应地更改您的域名服务器。父 ( .com) 区域中的 NS 记录应与您自己 ( adamatan.com) 中的记录相匹配。

    请记住,TTL两个区域的时间都是172800秒,即 48 小时。这些更改最多可能需要两天时间才能生效。dig adamatan.com NS @a.gtld-servers.net.显示它们是否已在 的根名称服务器上更新.com,这就是计数实际开始的时间。

    • 6

相关问题

  • 如何将 Symantec Backup Exec 与 S3 Amazon 存储结合使用?

  • Amazon S3 是否对您的数据做出任何形式的保证?

  • Amazon S3 存储如何计费?[关闭]

  • 使用亚马逊 S3 时的注意事项

  • 用于备份等的 S3 接口 [关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve