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

Bre*_*ent 5 apache virtualhost amazon-ec2 amazon-web-services amazon-route53

我有一个运行Elastic IPEC2实例.我的文件看起来像这样:54.82.145.116vhost.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>
Run Code Online (Sandbox Code Playgroud)

第一个域brentrichison.com,工作正常.该域的子域也可以正常工作.在其他领域,tlsbaseball.comgreyspace.io没有在所有的工作.

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

有没有人有任何想法为什么我的其他两个域将无法解决?谢谢.

Dan*_*ell 7

我可以从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
Run Code Online (Sandbox Code Playgroud)

根据您在下面的评论,听起来您使用亚马逊注册这些域名,然后重新创建托管区域几次.让我们看一下真正的样子,比方说greyspace.io:

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

现在域的dns hsoted区域是"实时",因为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>
Run Code Online (Sandbox Code Playgroud)

有相同docroot的2个站点?我糊涂了.那些实际上不是同一个网站吗?