我是一名 Web 开发人员,我开始管理一个小型 VPS,用于托管一些非常小的网站。出于测试目的,我们需要创建一个三级域名,但我不确定如何配置它。该服务器运行的是 Debian 稳定版和 apache2。我添加了一个虚拟主机来创建三级域名:
<VirtualHost *:80>
ServerName thirdlevel.servername.foo
DocumentRoot /path/to/document/root
# some other apache config
</VirtualHost>
现在,在我的 ISP(我购买域名的地方)的控制面板中,我已经输入了这些 DNS 配置参数,但我不知道这是否正确:
record type: A
name: servername.com.
value: 12.34.56.789 (real IP here, of course)
record type: A
name: www
value: 12.34.56.789
record type: CNAME
name: thirdlevel.servername.foo.
value: servername.foo
几个小时后,最后一条规则(我不确定)被标记为“活动”,但我仍然无法访问指向 thirdlevel.servername.foo 的网站,谢谢
亚历山德罗
答案1
- 您似乎拥有
servername.com
和servername.foo
位于同一区域。每个区域应该只有一个域。 - 如果你忘记将第一个 .com 更改为 .foo,那么
thirdlevel.servername.foo.
应该thirdlevel
- 对于 的值
thirdlevel
,您需要.
在末尾添加 ,否则它会为您附加原点(假设区域文件以 开头$ORIGIN servername.foo.
)。
如果您有权访问区域文件的文本,而不是大多数注册商提供的通常令人讨厌的 HTML 表单,那么您需要以下内容:
$ORIGIN servername.foo.
$TTL 14400
@ 86400 IN SOA YOUR.NS1.GOES.HERE. your.email.with.at.replaced.by.dot.comcast.net. (
201009091812 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 ;minimum
)
86400 IN NS YOUR.NS1.GOES.HERE.
86400 IN NS YOUR.NS2.GOES.HERE.
14400 IN A 123.45.67.89
www 14400 IN A 123.45.67.89
thirdlevel 14400 IN CNAME @
@ 将被 $ORIGIN 所设置的任何内容替换,因此您不必不断重新输入它。我很好奇为什么您不能只使用另一个 A 记录thirdlevel
。
答案2
DNS 更改可能需要一些时间才能复制到所有地方。
检查您是否已经可以解析新的 CNAME。
到目前为止,Apache 配置看起来不错。
答案3
您的 Apache2 配置正确,但您域的 DNS 中缺少以下 CNAME 记录:任何三级域名
value: *.yourdomain.com
type: CNAME
target: yourdomain.com