我有一台 Mac Mini 服务器(名为 Server),其 DNS 设置如下
Primary Zone: example.com
mysql-host.example.com machine (10.0.0.101)
server.example.com machine (10.0.0.100)
server.example.com nameserver (10.0.0.100)
www.example.com machine (10.0.0.102)
www.example.com 是一个装有 Apache 的 Linux 机器。如何让 example.com 和 www.example.com 都正常工作。现在,我只能通过 www.example.com 查看我的网站。我知道没有任何东西可以将 example.com 指向 IP,但是当我创建没有主机名的机器记录时,我收到错误(没有主机名就无法创建此机器记录。)。
答案1
您应该能够在常规服务器应用程序界面中执行此操作,只需在主机名字段中输入完整域名(例如“example.com”)。不过,有几点注意事项:
- 确保界面处于“显示所有记录”模式(可从 DNS 记录列表下的“操作”(齿轮图标)弹出菜单中选择)。如果没有此功能,它会隐藏(并且不允许您控制)关键细节,例如区域本身。
- 创建机器记录时,通常会在“主机名”字段后加上区域名称(例如,区域“example.com”中的主机名 =“www”将为“www.example.com”创建一条记录)。但如果主机名是区域名称(您可以在窗口顶部看到此名称)。例如,如果区域是“example.com”,您在字段中输入“example.co”,窗口顶部将显示“example.co.example.com”——但只要您添加最后一个“m”,它就会变为“example.com”。
- 不要尝试使用“.”来终止主机名(这是标准 FQDN 语法所要求的),不要将字段留空,也不要使用“@”(绑定区域文件的简写)——服务器接口将拒绝所有这些操作。请注意,当它写入区域文件时,它将被转换为标准 FQDN 格式。
正如您显然发现的那样,您也可以通过直接编辑区域文件来实现这一点。但我当然也对此有一些注释:
- 区域文件位于非标准位置:/Library/Server/named/(旁边有 named.conf)。
- 确保复制 Server.app 创建的条目的格式确切地。我还没有对 Server v3.x 进行过太多尝试,但在使用早期版本时,我曾经因为没有在字段之间使用预期数量的空格而使管理界面感到困惑。
答案2
您的 DNS 是什么?Bind 对顶级域名做了一些奇怪的事情。但就像其他评论所说的那样,您可能只需指定
example.com. A 10.0.0.102
我假设如果你做了
dig axfr example.com
您将不再看到返回的 SOA。我不知道这会对您的其他记录产生什么影响。
我相信这也会对你有所帮助:https://stackoverflow.com/questions/16022324/how-to-setup-dns-for-an-apex-domain-no-www-pointing-to-a-heroku-app