更改 A 记录和 CNAME 记录

don*_*don 11 domain-name-system a-record cname-record dns-zone apache2

目前,我正在LAMP为我的登录页面、Web 应用程序和 API 使用配置。现在我想将这些东西拆分到多个虚拟服务器 (VS) 中。我不确定网络设置,在弄乱我所有的 DNS 配置之前,我想了解一下我的配置是否会崩溃。

登录页面托管在second level domain(例如myurl.com),Web 应用程序托管在较低级别的域app.myurl.com,而 api托管在api.myurl.com。我还有一个预览域:preview.myurl.com,用于测试。

由于所有内容都托管在同一个 VS 上,因此我目前还有四个不同的文件夹(landingapiwebapppreview),它们充当每个子域的“虚拟主机”。

我的 DNS 配置如下所示:

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 myurl.com.
app.myurl.com.  CNAME   300 myurl.com.
preview.myurl.com.  CNAME   300 myurl.com.
Run Code Online (Sandbox Code Playgroud)

首先,我想将每个 CNAME 条目的数据更改为当前 VS 的实际 IP。所以它看起来像这样:

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 123.123.123.123
app.myurl.com.  CNAME   300 123.123.123.123
preview.myurl.com.  CNAME   300 123.123.123.123
Run Code Online (Sandbox Code Playgroud)

然后的想法是将每个子域指向正确的 VS。最初,所有较低级别的域(除了www.)仍将指向当前 VS,而登录页面的第二级域(A记录为myurl.com.)将需要指向IP新 VS 的新域。

问题:

  1. 这些更改是否会影响当前 Apache 服务器将流量分配到每个子文件夹(即landingapiwebapppreview)的方式?如果是这样,即使所有IP地址都保持不变?
  2. 为了测试一下,我可以从只更改datafor的值开始,preview.myurl.com.而不用冒着影响其余部分的风险吗?
  3. 一旦所有较低级别的域(例如 api.myurl.com)都指向 VM 的 IP,我是否可以将 的A值指向myurl.com.不同的 IP,而不会影响其他较低级别的域(apiapppreview)?

Dre*_*Dre 12

如评论中所述,您将需要使用 A 记录而不是 CNAME 记录。CNAME 记录将无法指向 IP 地址。

使每个站点都能工作的关键是在 Apache 配置中为每个虚拟服务器正确指定 ServerName。


Ant*_*ito 11

使用Arecord 指向子域

myurl.com.  A   300 123.123.123.123
api.myurl.com.  A   300 123.123.123.123
app.myurl.com.  A   300 123.123.123.123
preview.myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
Run Code Online (Sandbox Code Playgroud)