![无法通过 DNS 或直接 IP 地址访问主机](https://linux22.com/image/1519707/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20DNS%20%E6%88%96%E7%9B%B4%E6%8E%A5%20IP%20%E5%9C%B0%E5%9D%80%E8%AE%BF%E9%97%AE%E4%B8%BB%E6%9C%BA.png)
这是我的问题:我有一个 Java Web 应用程序,它使用 Stormpath API 进行用户管理。与此 API 的通信是通过 HTTP 进行的。
我的 API 调用突然挂起,在 3 次连接尝试后返回 503 状态代码。所有这些都发生在装有 Ubuntu 16 的笔记本电脑上。
所以我尝试通过名称或直接 IP 来 PING 地址 - 两次呼叫都挂断了。我从 WIFI 连接切换到有线连接,在同一个网络中,但仍然没有任何反应。
基本上,我甚至无法访问这个地址https://api.stormpath.com/在我的笔记本电脑上。我可以访问https://stormpath.com/不过。我已经用手机试过了,一切都很好。
我想说一下,我在 HTTPS 请求中使用了令牌,我的同事也是如此,令牌是从同一个帐户生成的 - 但这是它应该工作的方式。
我不记得我做过什么特别的事情来扰乱系统配置中的某些设置。正如我所说,这件事突然发生了。
我也与他们的支持人员进行了交谈并更改了密码(通过手机),但什么都没有改变。
我是 Ubuntu 和网络方面的新手,所以我想问你们我可以尝试如何解决这个问题。如果需要其他详细信息,请发表评论,我会添加它们。
提前致谢!
附言:我希望这是提出这个问题的正确地方
答案1
我正在根据我之前的评论创建答案。
由于问题出现在 DNS 名称或 IP 地址上,因此可能是您获取了错误的 IP 地址。为了检查这一点,您应该尝试使用不同网络上的其他机器,例如使用运营商互联网连接的 Spartphone。尝试解析 DNS 名称,看看您是否获取了相同的 IP 地址。您可能会得到两种结果:
这是不同的:您应该从出现问题的机器上尝试新的 IP,如果有效,则确认是 DNS 问题。清除 DNS 缓存或更改名称服务器,以查看解析机制是否出现问题。
是一样的(而且在第二个系统上也能正常工作):这是网络问题。有东西阻止了第一台机器和目标 IP 的访问(或响应)。可能是防火墙规则、服务限制或网络问题。
解释:可能是 API 的 IP 地址发生了变化,而出于某种原因,您仍在解析旧地址。它可能缓存在本地或 DNS 服务器级别。从您的评论来看,您似乎已经发出了解析此 DNS 名称的请求(或者您想执行测试),因此您将其保存在本地计算机的 hosts 文件中。IP 随后发生变化,虽然 DNS 服务器可能在此期间更新,但您仍在使用手动保存在 hosts 文件中的过时 IP。