Firefox/curl 无法解析域名,但 dig 可以

Firefox/curl 无法解析域名,但 dig 可以

在我的主 Ubuntu 19.10 机器上,我遇到了 HCL 创意实验室的一个奇怪的 DNS 问题:无法在 Firefox 中访问它,curl因为无法解析主机。

$ curl https://connections-ideas.hcltechsw.com
curl: (6) Could not resolve host: connections-ideas.hcltechsw.com

我首先假设我的 DNS 服务器存在问题,但dig可以解决它:

$ dig +short connections-ideas.hcltechsw.com
https://connections.ideas.aha.io.
35.171.201.123

在我的安卓手机上也无法使用,无论是使用 wifi 还是使用手机。似乎只影响子域名,因为 hcltechsw.com 在浏览器上没有问题curl

由于某些神奇的原因,我的公司电脑上装有公司代理,是唯一能正常工作的机器。

我已经尝试过

成立类似的问题答案建议检查的地方/etc/nsswitch.conf。我有

hosts:          files mdns4_minimal [NOTFOUND=return] dns

里面,为了测试目的我把它改成了

hosts:          files mdns4_minimal dns
hosts:          files dns
hosts:          dns

但它仍然不起作用。因为它是来自 C 库而不是守护进程,我还没有重启任何东西。

此外,我curl -4还尝试curl -6强制使用 ipv4/v6。

唯一有效的方法是curl针对 IP:

curl -k https://35.171.201.123 -H "Host:connections-ideas.hcltechsw.com" --head

这里仅用于-k测试目的,因为证书不是为 IP 地址颁发的,所以肯定会导致不匹配。

答案1

可能是该域的实际 DNS 记录存在问题,因为我遇到了完全相同的问题:

$ dig connections-ideas.hcltechsw.com

; <<>> DiG 9.14.7 <<>> connections-ideas.hcltechsw.com
(...)
;; ANSWER SECTION:
connections-ideas.hcltechsw.com. 214 IN CNAME   https://connections.ideas.aha.io.
https://connections.ideas.aha.io. 3514 IN A 18.233.118.192

上述错误输入到 DNS 记录中的 URL 解析为:

;; ANSWER SECTION:
connections.ideas.aha.io. 3600  IN  A   35.171.201.123

你可以对两个 IP 进行 curl 操作:

$ curl 18.233.118.192
<!DOCTYPE html>
<html>
$ curl 35.171.201.123
<!DOCTYPE html>
<html>

简而言之,该 DNS 记录很乱,例如,该 CNAME 不是您使用它们的方式,请参阅:https://en.wikipedia.org/wiki/CNAME_record—— 以“https://”开头的记录简直糟透了。

A记录需要将一个干净的域指向一个IP(没有协议前缀),而CNAME需要将一个干净的域指向另一个干净的域。

相关内容