The problem: When I make HTTP requests from iOS to my server, it will be unaccessible from the Mac.
The test: I run Simon (net monitoring tool) on macOS to check my domain in every 1 minutes. The checking makes a HTTP request to the server and marks it as a failure when it is timed out (no response in 15 seconds). I open Safari on my iPhone, enter the same URL, and navigate to a page, which uses AJAX queries in every few seconds to pull new data from our server. After this happens, half-one minute later the monitoring tool will alert me that the site is not accessible from my Mac. When I close Safari on iOS, macOS will return to normal conditions in a minute.
The parameters:
- Our web pages' rendering time is less than 0.5 second normally.
The problem might related to our router: TP-Link AC750- UPDATE: We experienced the problem without the router using mobile Internet sharing on an iPhone too.
- We experienced the same results from the office and three different home networks (all with the same router)
- We don't experience the issue from Windows
- We don't experience the issue from certain macOS computers on the same network
- We experience the time outs from Android too, despite it seems only iOS causes it
- The domain is also inaccessible from the other iOS devices during an outage
- DNS resolving seems OK: I can ping the server constantly
- sshd and httpd also experience the same problem, it's not httpd related
- connecting to port 80 on the server using telnet does time out
- We don't experience the problem with any other web sites or other sites on the same physical hardware
- Doesn't matter how iOS makes the HTTP requests. Either opening the website from Safari or running our native app which uses REST API requests to the same server causes it to not work
- We access the router via WiFi. The router has no special settings, except for some port forwards.