问题

阿里云机器部署了k3s,使用traefik作为ingress controller。

部署了两个ingress,使用不同的域名,分别为A和B,都指向同一个后端服务

但是客户端访问时,不使用真实的dns系统,而是均通过配置hosts访问

但是奇怪的是,A域名可正常使用,B域名却不能访问

排查

  1. 在节点本地配置hosts,发现均可正常访问

  2. 此时可以怀疑是节点到客户端之间的问题

  3. 由于是公有云服务器,重点考虑备案问题;同时B域名无法访问,报错为:

     curl: (35) Recv failure: Connection reset by peer

    该错误在被防火墙阻断时比较常见

  4. 此时观察域名A和B,我们发现A域名是一个被注册的正常域名,而B域名是一个不存在的域名

结论

B域名换成真实存在的域名即可解决问题。

使用公有云服务器时,即使是通过本地hosts访问,也要注意域名的真实性问题,因为国内服务器在备案方面有要求,会检测域名

参考

文章目录