![CNAME 和 A 记录如何交互(在这个奇怪的情况下)](https://linux22.com/image/603463/CNAME%20%E5%92%8C%20A%20%E8%AE%B0%E5%BD%95%E5%A6%82%E4%BD%95%E4%BA%A4%E4%BA%92%EF%BC%88%E5%9C%A8%E8%BF%99%E4%B8%AA%E5%A5%87%E6%80%AA%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%89.png)
我成功地对一些 DNS 配置感到惊讶。这是我的终端的实际输出:
[]$ host www.sepa-converter.nl
www.sepa-converter.nl is an alias for sepa-converter.herokuapp.com.
sepa-converter.herokuapp.com has address 184.73.167.111
[]$ host sepa-converter.herokuapp.com
sepa-converter.herokuapp.com has address 184.72.248.52
结果是,如果您浏览 www.sepa-converter.nl,您将无法获得 sepa-converter.herokuapp.com 提供的内容。
我已将 sepa-converter.nl 用作 overopsepa.nl 的别名。我希望邮件继续显示在我的 Google Apps 帐户中。因此,我保留了 A 和 MX 记录,但只是将 CNAMES 更改为指向另一台服务器。
为什么这不能将 www.sepa-converter.nl 解析为正确的 heroku 应用程序?
更新:我知道 heroku 不会每次都返回相同的 IP,我也知道这不是问题。问题是 http 请求提供的内容来自与别名不同的 dyno。如果您将 www.sepa-converter.nl 与 sepa-converter.herokuapp.com 进行对比,您会看到提供的 index.html 不同。
答案1
此主机名有多个 IP,但这不是问题。每次对此主机名进行挖掘查询时,我都会得到不同的 IP:
sgeorge-mn:~ sgeorge$ dig sepa-converter.herokuapp.com +short
50.19.86.241
sgeorge-mn:~ sgeorge$ dig sepa-converter.herokuapp.com +short
107.20.162.205
sgeorge-mn:~ sgeorge$ dig sepa-converter.herokuapp.com +short
54.243.85.64
答案2
您的 DNS 配置正确,但您引用的 Web 服务器未配置为托管域“www.sepa-converter.nl”。
要使 Web 服务器托管“www.sepa-converter.nl”,必须在 apache 配置中配置“ServerAlias”。
参考服务器别名在 apache 文档中。
答案3
您的 DNS 设置没有任何问题。你需要告诉 Heroku 你想要使用的主机名。
heroku domains:add www.sepa-converter.nl