서버가 먼저 iPhone을 핑하지 않는 한 iPhone은 IP 주소로 로컬 서버에 연결할 수 없습니다.

서버가 먼저 iPhone을 핑하지 않는 한 iPhone은 IP 주소로 로컬 서버에 연결할 수 없습니다.

내 데스크탑 개발 시스템은 apache2를 웹 서버로 실행하는 Ubuntu 22.04.3 LTS입니다. 내 iPhone은 iOS 버전 17.3.1을 실행하는 iPhone 12 Pro입니다. Ubuntu 시스템에서는 UFW가 비활성화되어 있습니다. 집에는 Ubiquiti 게이트웨이 어플라이언스로 구동되는 네트워크가 하나만 있습니다.

가끔 iPhone의 웹 브라우저를 통해 IP 주소로 웹 개발 서버에 액세스해야 하는 경우가 있습니다.

역사적으로 이것은 결코 문제가 되지 않았습니다. 그러나 최근(정확히 언제인지는 알 수 없습니다...) 내 iPhone은 이 서버에 전혀 연결할 수 없습니다. 웹 브라우저를 통한 HTTP/HTTPS 요청 모두 결국 시간 초과되고 전화기는 내가 설치한 "iNetTools"라는 네트워크 도구 앱을 사용하여 서버를 ping할 수 없습니다.

이 네트워크의 다른 컴퓨터(예: 내 노트북)는 문제 없이 Ubuntu 웹 서버에 연결할 수 있으며 Ubuntu 컴퓨터에도 ping을 보낼 수 있습니다. 마찬가지로 Ubuntu 시스템은 iPhone에 ping을 보낼 수 있습니다. 저는 Unifi 소프트웨어를 통해 iPhone과 Ubuntu 서버가 모두 동일한 5ghz 채널에 있고 심지어 동일한 AP(메시 네트워크)에 있다는 것을 확인했습니다. 이는 이러한 미묘한 차이를 잠재적인 변수로 제거하기 위한 것입니다.

나는 Ubuntu 시스템에서 iPhone을 ping한 후 갑자기 iPhone의 HTTP/HTTPS 요청이 작동하기 시작하고 iPhone도 Ubuntu 시스템에 ping을 보낼 수 있다는 것을 발견했습니다. 이는 결국 작동이 멈출 때까지 한동안 "고정"되며(iPhone은 다시 한 번 Ubuntu 서버에 도달할 수 없음) 시계처럼 Ubuntu 서버에서 iPhone을 핑하면 기능이 복원됩니다.

나는 이것이 내 iPhone의 일종의 개인 정보 보호 설정을 암시한다고 생각합니다(아마도 최근 iOS 업데이트로 인해??). 앞서 언급한 것처럼 다른 장치는 문제 없이 일관되게 이 서버(및 서로)와 통신할 수 있습니다.

Ubiquiti/Unifi 클라이언트 목록에 두 장치(Ubuntu 서버 및 iPhone)가 모두 표시됩니다. Ubuntu 서버가 먼저 iPhone에 대한 핑을 시작하지 않으면 iPhone에서 Ubuntu 서버를 핑할 수 없습니다. 이 핑은 성공하기까지 항상 몇 초가 걸립니다. 첫 번째 응답은 일반적으로 ~3000ms, 그 다음 ~2000ms, ~1000ms 정도이며 그 이후의 응답 시간은 예상대로 10ms 미만입니다.

관련 정보