Domain-Name-System

更改 A 記錄和 CNAME 記錄

  • December 28, 2016

目前,我正在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.

首先,我想將每個 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. 這些更改是否會影響目前 Apache 伺服器將流量分配到每個子文件夾(即landingapiwebapppreview)的方式?如果是這樣,即使所有IP地址都保持不變?
  2. 為了進行測試,我是否可以只更改datafor 的值preview.myurl.com.而不冒損害其餘部分的風險?
  3. 一旦所有較低級別的域(例如 api.myurl.com)都指向 VM 的 IP,我是否可以將 的A值指向myurl.com.不同的 IP 而不會影響其他較低級別的域(api、、、apppreview

如評論中所述,您將需要使用 A 記錄而不是 CNAME 記錄。CNAME 記錄將無法指向 IP 地址。

使每個站點正常工作的關鍵是為您的 Apache 配置中的每個虛擬伺服器正確指定 ServerName。

使用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.

引用自:https://serverfault.com/questions/823071