0

We have a fleet of beaglebone boards running Debian 7.9 that communicate with our server (an Azure App Service) over https. From at least one of these boards, most requests to the server timeout. When I run curl <my_api_url> -v, it simply hangs at "Trying":

* About to connect() to <my_api_url> port 443 (#0)
*   Trying <ip address>...

Notes:

  • On other boards, curl <my_api_url> works just fine
  • On this board, I can ping and curl other sites just fine. The speedtest gave 9.74 Mbits/s up 0.85 Mbits/s down.
  • On this board, requests to our server seem to work occasionally (for a short window every 10-15 minutes or so), but otherwise timeout.
  • I also tried just using the server ip address directly. curl https://<ip>/api/v2 connects just fine from other boards, but from this board, it gets stuck at Trying just the same. So it doesn't seem to be a DNS issue.
  • The request above is made over https, so it's using port 443. But other https requests from this board work fine, so it doesn't seem like a port availability issue. Anyways, the same request to our server over http (port 80) also gets stuck at Trying on this board.

What could be the cause, and what other tools can I use to investigate what is going on with this particular board and url? How can I determine in the first place if it is an issue with the client/board, the Azure server, or somewhere in between?

  • Does your server have multiple A and AAAA records? Looks like happy eyeballs trying multiple IPs. Have you checked dns and port availability? Netcat? – Jacob Evans Aug 14 '18 at 15:00
  • As far as I can tell there is only the one A record. All of the requests try the same IP address (the requests from other boards that succeed and requests that are timing out from this board). Traceroute to that IP address from this board seems fine. – jmilloy Aug 14 '18 at 16:07
  • netcat seems to be working okay, although I don't exactly what I should be checking. I couldn't simply use nc -l 2345 and nc localhost 2345. Instead I used nc -l -p 2345 127.0.0.1 and nc 127.0.0.1 2345, but that worked. Same for port 433. – jmilloy Aug 14 '18 at 16:22
  • You would be doing nc ip 443 it sounds like a firewall issue dropping your connection. – Jacob Evans Aug 14 '18 at 16:54
  • Okay, nc ip 80 -v from a working board shows an open connection to the server, but the same from the nonworking board shows no output. And is it clear from this that it is a firewall issue on the client network, or could it be the server side? If it's a firewall issue on the client network, it seems to be only blocking the server ip address (or a range?). If it's a firewall issue on the server side, it seems to be only blocking requests from this board. Would either of those make very much sense? – jmilloy Aug 14 '18 at 17:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.