AWS 在一个 EC2 实例上托管多个域

AWS Host Multiple Domains On One EC2 Instance

我有一个 EC2 实例 运行 弹性 IP 54.82.145.116。我的 vhost.conf 文件如下所示:

<VirtualHost *:80>
    ServerName default:80
    DocumentRoot /var/www/html/brentrichison.com
    ServerAdmin brent@brentrichison.com
    ErrorLog /var/www/html/logs/error.log
</VirtualHost>

<VirtualHost *:80>
    ServerName brentrichison.com
    DocumentRoot /var/www/html/brentrichison.com
</VirtualHost>

<VirtualHost *:80>
    ServerName greyspace.io
    DocumentRoot /var/www/html/greyspace.io
</VirtualHost>

<VirtualHost *:80>
    ServerName tlsbaseball.com
    DocumentRoot /var/www/html/tlsbaseball.com
</VirtualHost>

<VirtualHost *:80>
    ServerName tm.brentrichison.com
    DocumentRoot /var/www/html/tm
</VirtualHost>

<VirtualHost *:80>
    ServerName tls.brentrichison.com
    DocumentRoot /var/www/html/tlsbaseball.com
</VirtualHost>

第一个域 brentrichison.com 工作正常。该域的子域也可以正常工作。其他域 tlsbaseball.comgreyspace.io 根本不起作用。

每个域在 Route 53 上都有一个托管区域。每个域的 "A" 记录指向 54.82.145.116。每个域都有自己的 SOA 记录,每个区域都有自己的 DNS 记录。

有人知道为什么我的其他两个域无法解析吗?谢谢。

我可以从 whois 中看到 greyspace.io 和 tlsbasebll.com 指向 Route53 服务器,但他们没有回答我的查询。查看 Route 53 中的托管区域并验证那里指定的 NS 服务器是否来自 Amazon,并与您在 DNS 中拥有的内容一致。当您处理多个域时,很容易交换它们或弄错它们。

$ whois greyspace.io

Domain : greyspace.io
Status : Live
Expiry : 2017-11-25

NS 1   : ns-1566.awsdns-03.co.uk
NS 2   : ns-1297.awsdns-34.org
NS 3   : ns-1021.awsdns-63.net
NS 4   : ns-343.awsdns-42.com
$ dig @ns-343.awsdns-42.com greyspace.io -t soa

; <<>> DiG 9.8.3-P1 <<>> @ns-343.awsdns-42.com greyspace.io -t soa
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 27079
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;greyspace.io.          IN  SOA

;; Query time: 26 msec
;; SERVER: 205.251.193.87#53(205.251.193.87)
;; WHEN: Sat Dec 24 10:19:01 2016
;; MSG SIZE  rcvd: 30

根据您在下面的评论,听起来您是在亚马逊注册了这些域,然后重新创建了几次托管区域。让我们仔细看看它的真实面貌,比如 greyspace.io:

  1. 在亚马逊注册
    1. 作为 dns 提供商,亚马逊自动创建一个托管区域来服务于 与您的域关联的记录,它生成的名称 愿意回答该域查询的名称服务器
    2. 作为注册商,亚马逊将 greyspace 注册数据保存在 .io 注册表,以及指向请求的 dns 粘合记录 从步骤 1
    3. 到 AWS Route53 服务器的域

现在域的 dns hsoted 区域是 "live",因为 whois 数据指向它。

  1. 您删除并重新创建了 dns 托管区域。删除后,列出的 名称服务器不再愿意回答这些查询,但他们 仍列在 DNS

所以您所要做的就是进入您的域注册并更新 whois 列出的名称服务器指向您在重新创建托管区域时获得的新名称服务器。

顺便说一句,你为什么把这个放在这里两次?

<VirtualHost *:80>
    ServerName default:80
    DocumentRoot /var/www/html/brentrichison.com
    ServerAdmin brent@brentrichison.com
    ErrorLog /var/www/html/logs/error.log
</VirtualHost>

<VirtualHost *:80>
    ServerName brentrichison.com
    DocumentRoot /var/www/html/brentrichison.com
</VirtualHost>

2 个站点具有相同的文档根目录?我很困惑。这些实际上不是同一个站点吗?