ERR_CONNECTION_TIMED_OUT 오류 원인과 해결 방법

Advertisement
ERR_CONNECTION_TIMED_OUT이란?
ERR_CONNECTION_TIMED_OUT은 Chrome 등 Chromium 계열 브라우저가 웹사이트 서버로부터 아무 응답도 받지 못할 때 표시하는 오류입니다. 화면에는 '사이트에 연결할 수 없음. example.com에서 응답하는 데 시간이 너무 오래 걸립니다.'(영문: "This site can't be reached. example.com took too long to respond.")라고 나옵니다. 내부적으로는 Chromium 네트워크 오류 -118, 즉 "a connection attempt timed out"(연결 시도 시간 초과)입니다.
연결을 열기 위해 컴퓨터는 서버에 TCP 연결 요청인 SYN 패킷을 보내고 응답을 기다립니다. 보통 응답은 몇 밀리초 안에 도착합니다. 응답이 오지 않으면 운영체제는 간격을 점점 늘려 가며 SYN을 몇 번 더 보내고, 결국 브라우저가 포기하고 이 오류를 표시합니다.
핵심은 '침묵'입니다. 서버가 켜져 있지만 수신 대기 중인 서비스가 없다면 즉시 거부 응답을 보냅니다. 타임아웃은 아무도 응답하지 않았다는 뜻입니다. 패킷이 어딘가에서 버려졌거나, 아무것도 없는 주소로 보내진 것입니다.
ERR_CONNECTION_TIMED_OUT vs ERR_TIMED_OUT
Chrome에는 비슷해 보이는 타임아웃 오류가 두 가지 있으며, 실패하는 단계가 다릅니다:
ERR_CONNECTION_TIMED_OUT (-118): 서버가 첫 SYN에 응답하지 않아 연결이 아예 수립되지 않았습니다. 네트워크 경로, 방화벽, DNS, 서버가 온라인인지를 살펴보세요.
ERR_TIMED_OUT (-7): 더 일반적인 타임아웃입니다. Chrome 자체의 제한 시간이 다 되었을 때 표시됩니다. 예를 들어 TCP 연결은 열렸지만 HTTPS 핸드셰이크가 30초 동안 멈췄거나, 열린 연결에서 응답이 끊긴 경우입니다. 보통 느리거나 멈춘 서버, 또는 지연되는 프록시를 가리킵니다.
아래 해결 방법은 두 오류 모두에 적용됩니다. ERR_TIMED_OUT은 웹사이트 쪽 문제로 밝혀지는 경우가 더 많고, ERR_CONNECTION_TIMED_OUT은 네트워크 경로나 방화벽 문제인 경우가 더 많습니다.
Advertisement
ERR_CONNECTION_TIMED_OUT의 원인
| 원인 | 발생 위치 | 흔한 단서 |
|---|---|---|
| 서버 오프라인 또는 과부하 | 웹사이트 | 모든 사람, 모든 네트워크에서 실패 |
| 방화벽이 트래픽을 조용히 버림 | 웹사이트, 내 네트워크 또는 내 PC | Ping은 되는데 443 포트는 안 될 수 있음 |
| 오래된 DNS: 사이트는 이전했는데 예전 IP를 사용 중 | 내 DNS 캐시 또는 리졸버 | 모바일 데이터로는 되고 집에서는 실패 |
| 잘못된 IP를 가리키는 hosts 파일 항목 | 내 PC | 이 컴퓨터 한 대에서만 실패 |
| 고장 난 프록시 또는 VPN | 내 PC 또는 네트워크 | 모든 사이트가 타임아웃되거나, VPN을 켰을 때만 실패 |
| 네트워크가 사이트나 포트를 차단 | ISP, 학교, 회사, 호텔 Wi-Fi | 한 네트워크에서만 실패 |
| 비표준 포트의 외부 연결 차단 | 내 네트워크 | :8080이나 :8443 사이트는 실패하고 일반 사이트는 정상 |
해결 방법 1: 사이트가 모두에게 정상인지 확인
서버가 다운되었다면 내 쪽에서 무엇을 해도 소용없으니 이것부터 확인하세요:
휴대폰에서 모바일 데이터로 사이트를 여세요(Wi-Fi 끄기). 열린다면 문제는 내 기기나 네트워크에 있습니다.
DNS Robot에서 [Ping 테스트](/ping)를 실행하세요. 응답이 오면 서버 머신은 온라인입니다. 응답이 없다면 다운되었거나 ping을 차단하는 것일 수 있는데, 많은 서버가 ping을 차단하므로 확실한 증거가 아닌 참고 정보로 보세요.
[포트 확인 도구](/port-checker)로 웹 포트를 테스트하세요. 443(HTTPS)과 80(HTTP) 포트를 확인하세요. 저희 서버에서는 '열림'인데 내 브라우저에서 타임아웃이 난다면 내 쪽 경로에서 무언가가 트래픽을 버리고 있는 것입니다. 저희 쪽에서도 '필터링됨'이라면 서버의 방화벽이나 서버 자체가 문제입니다.
[traceroute](/traceroute)를 실행해 패킷이 어디까지 가는지 확인하세요. 추적이 마지막 홉들에서 끊긴다면 사이트의 호스팅 네트워크가 패킷을 버리고 있는 것입니다.
Advertisement
해결 방법 2: DNS 캐시(및 Chrome 캐시) 플러시
사이트가 새 서버로 이전하면, 컴퓨터는 캐시가 만료될 때까지 예전 IP 주소를 계속 사용할 수 있습니다. 예전 서버가 꺼졌거나 방화벽으로 막혀 있다면 모든 시도가 타임아웃됩니다. 운영체제 캐시와 Chrome 자체의 호스트 캐시를 비우세요:
# Windows (명령 프롬프트)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# systemd-resolved를 쓰는 Linux
resolvectl flush-caches
# Chrome: chrome://net-internals/#dns 를 열고 "Clear host cache" 클릭캐시가 원인이었는지 확인하려면 내 컴퓨터가 확인한 IP(nslookup example.com)와 DNS Robot의 DNS 조회 결과를 비교하세요. 서로 다르다면 리졸버가 오래된 레코드를 제공하고 있는 것입니다. DNS 플러시 가이드에서 모든 브라우저와 운영체제를 다룹니다.
해결 방법 3: hosts 파일 확인
hosts 파일은 파일에 적힌 모든 이름에 대해 DNS보다 우선 적용됩니다. 개발자, 광고 차단기, 일부 악성코드가 여기에 항목을 추가하는데, 도메인을 예전 IP나 사설 IP에 매핑한 줄이 남아 있으면 그 컴퓨터 한 대에서만 매번 타임아웃이 발생합니다.
Windows: 메모장을 관리자 권한으로 실행한 뒤
C:\Windows\System32\drivers\etc\hosts를 엽니다.macOS / Linux: 터미널에서
sudo nano /etc/hosts를 실행합니다.
실패하는 도메인이 들어 있는 줄을 찾으세요. 그 줄을 삭제하거나 맨 앞에 #을 붙여 비활성화한 뒤 저장하고, DNS를 다시 플러시하세요.
Advertisement
해결 방법 4: 테스트 삼아 프록시, VPN, 방화벽 끄기
모든 사이트가 타임아웃된다면 작동을 멈춘 프록시나 VPN이 흔한 원인입니다. 모든 트래픽이 막다른 곳으로 보내지기 때문입니다.
Windows 11 프록시: 설정 → 네트워크 및 인터넷 → 프록시 → 수동 프록시 설정에서 프록시 서버 사용을 끄세요.
macOS 프록시: 시스템 설정 → 네트워크 → 사용 중인 연결 → 세부사항… → 프록시 → 모두 끄세요.
VPN: 연결을 완전히 끊고 새로고침하세요. VPN 없이 사이트가 열린다면 VPN 서버를 바꾸거나 VPN 업체에 문의하세요.
방화벽 / 백신: 타사 방화벽을 잠시 일시 중지하고 새로고침하세요. 그것으로 해결된다면 방화벽을 꺼 두지 말고 브라우저를 예외로 추가하세요.
해결 방법 5: 공용 DNS 리졸버로 변경
일부 ISP 리졸버는 업데이트가 느리고, 일부는 차단된 도메인을 절대 응답하지 않는 주소로 보냅니다. Cloudflare(1.1.1.1), Google(8.8.8.8), Quad9(9.9.9.9) 같은 공용 리졸버로 바꾸면 이 가능성을 배제할 수 있습니다. DNS 속도 테스트로 내 위치에서 가장 빠른 리졸버를 확인하세요.
DNS 서버 자체가 실패하고 있다면 다른 오류가 표시될 수 있습니다. DNS 서버가 응답하지 않음과 DNS 서버를 사용할 수 없음에서 다룹니다.
Advertisement
해결 방법 6: 네트워크 스택 초기화 및 공유기 재시작
공유기와 모뎀을 재시작하세요. 전원을 30초 동안 뽑았다가 다시 꽂고, 다시 연결될 때까지 2~3분 기다리세요. Windows에서는 관리자 권한 명령 프롬프트에서 TCP/IP 스택도 초기화하세요:
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
:: 초기화를 마치려면 PC를 다시 시작하세요Mac에서는 Wi-Fi를 껐다 켜거나, 시스템 설정 → 네트워크에서 네트워크를 제거했다가 다시 추가하세요. Windows 네트워크 진단(Chrome 오류 페이지에 있는 링크)을 실행해 Windows가 어댑터를 복구하도록 할 수도 있습니다.
해결 방법 7: 내 컴퓨터에서 직접 포트 테스트
브라우저를 거치지 않고, 내 컴퓨터가 사이트에 연결을 열 수 있는지 몇 초 만에 알 수 있습니다:
# Windows PowerShell
Test-NetConnection example.com -Port 443
# TcpTestSucceeded : False -> 내 네트워크에서 아무 응답 없음
# macOS / Linux
nc -vz -w 5 example.com 443
# "timed out" -> 버려짐; "Connection refused" -> 서버가 거부함내 컴퓨터에서는 테스트가 실패하는데 DNS Robot의 포트 확인 도구에서는 포트가 열려 있다면, 내 네트워크의 무언가가 차단하고 있는 것입니다. 공유기, 회사 방화벽, ISP, 호텔이나 학교 Wi-Fi 필터 등입니다. 다른 네트워크에서 시도하거나 네트워크 관리자에게 문의하세요.
Android와 iPhone에서 ERR_CONNECTION_TIMED_OUT 해결하기
네트워크 전환: Wi-Fi 대신 모바일 데이터를, 또는 그 반대로 시도하세요. 공용 Wi-Fi의 캡티브 포털은 로그인 페이지를 수락하기 전까지 타임아웃을 일으킵니다.
Android 비공개 DNS: 설정 → 네트워크 및 인터넷 → 비공개 DNS → 자동. 연결할 수 없는 사용자 지정 호스트 이름은 모든 조회를 망가뜨립니다. 비공개 DNS 가이드를 참고하세요.
VPN과 광고 차단 앱을 끄세요. 상당수가 로컬 VPN 방식으로 작동합니다.
네트워크 설정 초기화: iPhone은 설정 → 일반 → 전송 또는 iPhone 재설정 → 재설정 → 네트워크 설정 재설정. Android는 설정 → 시스템 → 재설정 옵션 → 블루투스 및 Wi-Fi 재설정(Reset Bluetooth & Wi-Fi), 모바일 데이터도 실패한다면 모바일 네트워크 설정 재설정(Reset Mobile Network Settings)까지 실행하세요.
웹사이트 운영자용: 방문자가 타임아웃되는 이유
사이트가 모두에게 타임아웃된다면 패킷이 웹 서버에 도달하기 전에 버려지고 있는 것입니다. 다음 순서로 점검하세요:
수신 대기 중인 서비스가 있나요? 서버에서
sudo ss -tlnp | grep -E ':(80|443) '를 실행하면 nginx, Apache 또는 앱이 보여야 합니다. 아무것도 없다면 서비스를 시작하세요. 단, 서비스가 멈춘 경우에는 방화벽이 먼저 패킷을 버리지 않는 한 보통 타임아웃이 아니라 거부(refused)가 발생합니다.방화벽이 80과 443을 허용하나요? Ubuntu에서는
sudo ufw status verbose, RHEL 계열에서는sudo firewall-cmd --list-all을 실행하세요. 기본 DROP 정책이 바로 타임아웃을 만드는 원인입니다.클라우드 방화벽은 별개입니다. AWS 보안 그룹, Google Cloud 방화벽 규칙, Azure NSG, 그리고 많은 VPS 업체의 패널 방화벽은 기본적으로 인바운드 트래픽을 거부합니다.
0.0.0.0/0(IPv6는::/0)에서 TCP 80과 443을 허용하세요.DNS가 이 서버를 가리키나요? 이전 후에는 DNS 조회로 A와 AAAA 레코드를 확인하세요. 서버가 실제로 서비스하지 않는 주소를 가리키는 AAAA 레코드는 IPv6 네트워크 방문자에게 느린 로딩이나 타임아웃을 일으킬 수 있습니다.
서버가 과부하 상태인가요? 부하가 높아 연결 대기열(backlog)이 가득 차면 새 연결 시도가 버려지고 타임아웃됩니다. 문제가 발생하는 동안 CPU, 메모리, 연결 수를 확인하세요.
# Ubuntu: ufw에서 웹 트래픽 허용
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status verbose
# 외부(다른 컴퓨터)에서 확인:
nc -vz -w 5 yourdomain.com 443TIMED_OUT vs REFUSED vs RESET: 구분하는 방법
| 오류 | 코드 | 네트워크에서 일어난 일 | 가장 흔한 원인 |
|---|---|---|---|
| ERR_CONNECTION_TIMED_OUT | -118 | 침묵: 연결 요청에 응답 없음 | 패킷을 버리는 방화벽, 서버 오프라인, 잘못된 IP |
| ERR_CONNECTION_REFUSED | -102 | 연결 요청을 즉시 거부 | 수신 대기 중인 서비스 없음, 또는 거부(reject)로 설정된 방화벽 |
| ERR_CONNECTION_RESET | -101 | 연결이 열린 뒤 리셋으로 끊김 | VPN, 백신, 필터링, 서버 크래시 |
| ERR_NAME_NOT_RESOLVED | -105 | DNS가 도메인을 아예 찾지 못함 | 오타, 만료된 도메인, DNS 장애 |
트래픽을 버리도록(drop) 설정된 방화벽은 타임아웃을, 거부하도록(reject) 설정된 방화벽은 거부 오류를 만듭니다. 자세한 가이드: ERR_CONNECTION_REFUSED, ERR_CONNECTION_RESET, ERR_NAME_NOT_RESOLVED.
모두에게 다운되었나요, 나만 안 되나요?
DNS Robot에서 서버에 ping을 보내 온라인인지 확인한 뒤, 포트 확인 도구로 443 포트를 점검하세요. 두 도구를 함께 쓰면 타임아웃이 사이트 때문인지 내 네트워크 때문인지 몇 초 만에 알 수 있습니다.
사용해보기 Ping 테스트Advertisement
자주 묻는 질문
브라우저가 웹사이트 서버에 연결 요청을 보냈지만 끝내 응답을 받지 못해 기다리기를 포기했다는 뜻입니다. Chromium에서는 네트워크 오류 -118입니다. 패킷이 어딘가에서 버려진 것으로, 서버가 오프라인이거나, 방화벽이 패킷을 버리거나, 기기가 잘못되었거나 오래된 IP 주소로 패킷을 보내고 있는 경우입니다.