更改 A 记录和 CNAME 记录

更改 A 记录和 CNAME 记录

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

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

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

我的 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.

首先,我想将每个 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

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

问题:

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

答案1

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

使每个站点正常运行的关键是在 Apache 配置中为每个虚拟服务器正确指定 ServerName。

答案2

使用A记录指向子域名

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.

相关内容