摘要: Linux 服务器上踩过一个坑, 记录下来留给自己以后看.
场景: 由于服务器是自动化安装, 在安装过程中我把 APIGATEWAY 地址填写错误 (它有两个浮动 ip 在不同的网络平面), 最后导致服务一直访问不了外网和内部其他服务, 把自己深深的坑了一把.
如何测试网络的连通性
1,curl -I -X GET https://www.baidu.com 如果返回码是 200 则该服务器可以正常访问, 否则下一步.
此处有个坑请注意: 如果你的 DNS 服务器可以对 IPv4 和 IPv6 都解析, 但由于你 curl 命令没指明怎么解析会导致访问随机性不通!!
curl -I -4 -X GET https://www.baidu.com# -4 使用 IPv4 解析, curl 命令详情请搓这里.
2,ping baidu.com 如果不能正常解析出 IP 则说明 host 服务器有问题, 如果能正常解析出 IP, 先检查 IP 是否正确, 如果不正确像我一样自裁吧, 如果 IP 正确但 ping 不通, 请检查网络.
此处有两个坑请注意:
1) 如果你的服务和你要访问的服务在不同网络平面, 设计上就是禁止访问, 但如果需要访问则需要注册到 APIGATEWAY 上. ps: 所以你如果填错了会导致注册不上, DNS 注册错误.
2) 如果注册到 APIGATEWAY 上失败, 也会导致 404 错误.
3, 如果你访问的服务需要带 token 访问, 则正常返回码为 403(无权限访问), 而不是 404(找不到该服务)
此处有个坑请注意: 如果你的鉴权是另一个服务的工作, 那两个服务的服务器时间设置不一致会导致 token 失效.
来源: http://www.bubuko.com/infodetail-3009274.html