我的 Web 应用程序运行在一家大型托管公司的专用 Linux 服务器上。它需要连接到 API 提供商,但 libCurl 总是报告连接超时。我将其归结为最简单的测试,即通过 CLI curl 发出没有有效负载的请求。从我们的服务器,它总是超时:
[linesk5@millenniumfalcon home]$ curl --connect-timeout 5 https://gateway.transit-pass.com/servlets/TransNox_API_Server
curl: (28) Connection timed out after 5001 milliseconds
我测试过的任何其他机器发出的相同命令总会给出响应:
[Steves-MBP:home $] curl --connect-timeout 5 https://gateway.transit-pass.com/servlets/TransNox_API_Server
<?xml version='1.0'?><InfoNox_Interface><Status><Code>911</Code><Message>Message not supported</Message></Status></InfoNox_Interface>
我咨询了我们服务提供商的支持人员,他们告诉我我们的防火墙没有阻止该目标。到目前为止,目标域的支持人员告诉我他们没有看到任何连接尝试,他们没有进行任何白名单或黑名单。
两台服务器之间是否有东西阻塞了流量?我可以使用哪些工具或技术来进一步排除故障?我的直觉告诉我,他们那边一定有什么东西导致我们服务器的连接被忽略,但我没有任何证据可以向他们提供这种支持。
我traceroute
在服务器和本地机器上都运行了该程序,输出的性质似乎并没有什么显著的不同……
从我的服务器开始的最后几次跳跃:
3 * * *
4 * * *
5 * * *
6 * TOTAL-SYSTEM-SERVICES-LLC.customer.alter.net (152.179.178.254) 10.354 ms *
7 * * *
8 * 12.122.108.125 (12.122.108.125) 11.750 ms 11.827 ms
9 * 12.116.151.54 (12.116.151.54) 11.629 ms 11.634 ms
10 * * * // repeats forever
从我的工作站出发的最后几次跳跃:
9 sea-b3-link.ip.twelve99.net (62.115.139.133) 7.258 ms 7.738 ms 7.764 ms
10 * * *
11 verizon-ic-356975-sea-b2.ip.twelve99-cust.net (213.248.94.149) 9.323 ms 8.616 ms 9.736 ms
12 * * *
13 * * *
14 0.ae1.gw3.phx2.alter.net (140.222.227.251) 42.390 ms
0.ae2.gw3.phx2.alter.net (140.222.227.253) 39.289 ms 39.829 ms
15 total-system-services-llc.customer.alter.net (152.179.178.254) 43.472 ms 41.972 ms 40.418 ms
16 * * * // repeats forever