在我的主 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需要将一个干净的域指向另一个干净的域。