· 문제 해결 · 약 9분

Shadowrocket 연결 시간 초과·연결 실패 해결 방법: 지연 테스트, 프로토콜 설정, 시스템 시간

연결 실패는 정해진 순서대로 확인하세요. 지연 테스트 결과를 먼저 살펴본 뒤 주소, 포트, 비밀번호, 전송 방식, TLS 설정을 점검하고, 마지막으로 시스템 날짜와 시간이 자동으로 설정되어 있는지 확인합니다.

이 글의 핵심

Shadowrocket에서 시간 초과가 표시되어도 모든 요청을 연결할 수 없다는 뜻은 아닙니다. 지연 시간이 표시되더라도 프로토콜 인증이나 웹 페이지 접속까지 성공한 것은 아닙니다. 직접 관리하는 서버나 구독이 있지만 연결에 실패하는 사용자를 위해, 기본 네트워크와 서버 테스트, 실제 요청을 구분하고 프로토콜 설정, TLS, 시스템 시간을 차례로 확인하는 방법을 안내합니다. 같은 대상으로 다시 테스트할 때는 한 번에 한 가지 조건만 변경하세요.

1. 지연 테스트, VPN 상태, 실제 요청 구분하기

현재 서버와 설정을 그대로 두고 포트, DNS, 규칙을 한꺼번에 바꾸지 마세요. Home의 서버 지연 시간, 시스템의 VPN 상태, Connectivity Test, 브라우저 접속 결과는 각각 서로 다른 단계를 보여 줍니다. 시스템에 VPN 연결됨으로 표시되어도 기기에서 터널이 만들어졌다는 뜻일 뿐, 원격 서버의 인증이 완료되었거나 대상 웹사이트에 접속할 수 있음을 보장하지 않습니다.

기본 네트워크 서버 연결 가능 여부 프로토콜 핸드셰이크 규칙에 따른 트래픽 분기 대상 서버의 응답

앞 단계부터 차례로 확인하면 잘못 판단할 가능성을 줄일 수 있습니다. 예를 들어 서버 포트에 TCP 연결이 되더라도 비밀번호가 틀리면 이후 핸드셰이크 단계에서 실패할 수 있습니다. 특정 테스트 대상이 응답하지 않는다고 해서 모든 웹사이트를 사용할 수 없다고 단정할 수도 없습니다. 테스트 방법마다 확인하는 단계가 다르므로 결과를 기록할 때는 테스트 방법과 대상을 함께 적어 두세요.

확인 위치확인할 수 있는 내용다음 확인 항목
Home의 서버 지연 시간현재 테스트 방법으로 확인한 응답 상태프로토콜 설정 및 실제 요청 성공 여부
시스템의 VPN 상태기기 측 터널 상태기본 서버 및 Global Routing
Connectivity Test테스트 당시 대상에 연결할 수 있었는지 여부다른 대상 및 앱의 실제 접속 결과
브라우저 접속 결과해당 대상에 대한 종단 간 요청 결과특정 도메인이나 앱에서만 실패하는지 여부

2. 여러 옵션을 한 번에 바꾸지 말고 정해진 단계에 따라 시간 초과 재현하기

먼저 기본 네트워크가 작동하는지 확인한 다음 Shadowrocket 연결을 점검하세요. 문제를 확인하는 동안 Settings → On Demand가 켜져 있으면 수동으로 연결을 끊어도 다시 연결이 시작될 수 있습니다. 기준 상태를 테스트할 때는 On Demand를 잠시 끄고, 테스트가 끝나면 원래 설정으로 되돌리세요. 임의로 여러 낯선 주소를 바꾸어 가며 테스트하지 말고, 정상 접속 여부를 아는 대상을 사용하세요.

  1. 기본 네트워크 확인

    Shadowrocket 연결을 끊은 뒤 브라우저에서 정상적으로 접속되는 것을 아는 웹 페이지를 여세요. Wi-Fi 로그인 인증이 필요하면 먼저 인증을 완료합니다. 기본 네트워크 자체가 작동하지 않는다면 먼저 네트워크 접속 문제를 해결하세요.

  2. 기본 선택 항목 확인

    Home으로 돌아가 테스트할 서버를 선택하고 선택 표시가 해당 항목에 있는지 확인하세요. 편집 화면을 열기만 해서는 기본 항목이 바뀐 것이 아닙니다. 현재 Global Routing 선택 항목도 기록해 두세요.

  3. 지연 시간 기록

    Home에서 서버 지연 테스트를 실행하고 성공 또는 시간 초과 여부와 선택한 테스트 방법을 기록하세요. 세 번 연속 테스트해 결과가 안정적인지 확인합니다. 한 번 응답했다고 계속 사용할 수 있는 것은 아닙니다.

  4. 실제 연결 확인

    연결 스위치를 켜고 시스템 안내에 따라 VPN 설정을 허용한 다음 Home에서 Connectivity Test를 실행하세요. 이어서 같은 대상으로 접속해 테스트 결과와 웹 페이지 접속 결과를 각각 기록합니다.

  5. 네트워크 바꿔 테스트

    가능하다면 서버, 설정, 대상을 그대로 둔 채 Wi-Fi에서 셀룰러 네트워크로만 바꾸어 다시 테스트하세요. 접속 네트워크에 따라 결과가 달라진다면 네트워크 제한, 도메인 이름 확인, 해당 전송 방식의 연결 가능 여부를 우선 점검합니다.

3. 주소, 포트, 인증, 전송 설정을 항목별로 확인하기

기본 네트워크는 정상이지만 특정 서버에서 계속 실패한다면 Home에서 해당 서버의 편집 화면을 열고 서비스 제공자나 서버 측의 원래 설정과 대조하세요. 먼저 Type이 일치하는지 확인한 뒤 주소와 포트를 점검하고, 마지막으로 인증, 전송 방식, TLS를 확인합니다. 표시 이름은 구분용일 뿐 프로토콜 인증에 사용되지 않습니다. 이름이 같아도 내부 설정까지 같다는 뜻은 아닙니다.

확인 항목구체적인 점검 내용혼동하기 쉬운 점
주소 및 포트주소에 불필요한 공백이 없어야 하며, 포트는 서버의 수신 포트와 일치해야 합니다.포트가 443이라고 해서 TLS가 자동으로 사용되거나 서비스가 정상이라는 뜻은 아닙니다.
Shadowsocks암호화 방식, 비밀번호, 서버에서 요구하는 플러그인 설정을 확인합니다.원래 설정을 다른 암호화 방식으로 바꾸어 시험하지 마세요.
VMess / VLESSUUID, 전송 유형, 서버에서 요구하는 기타 항목을 확인합니다.UUID가 같더라도 두 프로토콜을 서로 바꿔 사용할 수 있는 것은 아닙니다.
Trojan비밀번호와 TLS 관련 설정을 확인합니다.주소에 연결되더라도 비밀번호나 인증서 검증까지 통과했다는 뜻은 아닙니다.
Hysteria2인증, TLS, 서버 지정 설정을 확인하고 UDP에 연결할 수 있는지도 점검합니다.일반적인 TCP 포트 테스트로 전체 연결 경로를 검증할 수는 없습니다.
WireGuard키, 피어, Endpoint, 주소 등의 설정을 확인합니다.TLS 인증서를 사용하지 않으므로 TLS 문제 해결 절차를 적용할 수 없습니다.

원래 설정에서 WebSocket을 사용한다면 Path와 Host도 확인해야 합니다. 예를 들어 서버 설정에 /ws가 지정되어 있다면 클라이언트에서 임의로 /로 바꾸면 안 됩니다. 이 경로는 해당 항목을 원래 설정과 정확히 일치시켜야 한다는 예시이며, 그대로 적용할 수 있는 서버 설정값이 아닙니다. 다른 전송 방식을 사용하는 경우에도 원래 설정에 맞는 항목을 확인하고 WebSocket 설정을 복사하지 마세요.

4. 오류 문구로 원인을 좁히고 발생 단계를 기록하기

아래는 네트워크 연결에서 자주 볼 수 있는 오류 문구의 일부이며 모든 화면에 같은 문구가 표시되는 것은 아닙니다. 실제 오류 상세 정보나 연결 기록에 해당 문구가 나타날 때만 관련 항목을 확인하세요. ‘시간 초과’만으로 인증 실패를 추정할 수는 없습니다. 오류를 기록할 때 구독 업데이트, 서버 테스트, 웹 요청 중 어느 단계에서 발생했는지도 적어 두세요.

오류: i/o timeout

원인: 작업 단계 중 하나가 제한 시간 내에 완료되지 않았다는 뜻입니다. 이 문구만으로 DNS 확인, 연결, 이후 데이터 수신 중 어느 단계에서 시간 초과가 발생했는지 알 수는 없습니다.

해결 방법: 앞뒤 연결 기록에서 대상과 작업 단계를 확인하세요. 먼저 같은 주소와 포트로 다시 테스트한 뒤 다른 네트워크에서 비교하고, 모든 설정을 한꺼번에 바꾸지 마세요.

오류: connection refused

원인: 연결이 명시적으로 거부되었습니다. 대상 포트에서 서비스가 대기 중이지 않거나 네트워크 장비가 연결을 차단할 때 자주 발생합니다.

해결 방법: 먼저 포트와 프로토콜을 확인한 뒤 해당 서비스가 실행 중인지 서비스 제공자에게 문의하세요. 포트 연결이 거부된 경우 비밀번호를 계속 바꾸어도 대개 해결되지 않습니다.

오류: certificate has expired or is not yet valid

원인: 인증서 유효 기간과 검증 시점이 맞지 않습니다. 인증서가 실제로 만료되었거나 기기의 시간이 잘못되었을 수 있습니다.

해결 방법: 먼저 시스템 날짜와 시간을 확인한 다음 다시 연결하세요. 시간이 정확한데도 오류가 계속되면 서비스 제공자에게 인증서 유효 기간을 확인해 달라고 요청하세요.

문제 해결을 위해 정보를 전달할 때는 단순히 ‘작동하지 않음’이라고 쓰기보다 오류 원문을 남기는 것이 더 유용합니다. 접속 네트워크 유형, 테스트 시간, 프로토콜 유형, 오류 발생 단계, 시도한 개별 변경 사항을 전달할 수 있습니다. 구독 전체 주소, 비밀번호, UUID, 개인 키는 공개 진단 자료에 포함하지 마세요.

5. TLS와 시스템 시간을 확인하고 인증서 검증을 건너뛰지 않기

TLS 연결에는 서버 설정, 인증서의 신원, 기기 시간 등이 모두 맞아야 합니다. 서버 주소, TLS의 Server Name(SNI), WebSocket의 Host는 서로 다른 용도의 항목입니다. 값이 같을 때도 있지만 반드시 같아야 한다고 임의로 판단해서는 안 됩니다. IP 주소로 연결하더라도 서버에서 요구하는 Server Name을 IP로 바꾸면 안 됩니다.

  1. Home에서 서버 편집 화면을 열고 서버 설정에 따라 TLS 사용 여부와 Server Name을 확인하세요. 해당 프로토콜과 전송 방식에서 실제로 TLS를 사용하는 경우에만 이 항목을 점검하면 됩니다.
  2. iPhone 또는 iPad의 시스템 ‘설정 → 일반 → 날짜 및 시간’에서 ‘자동으로 설정’을 확인하고 현재 날짜, 시간대, 시간이 정확한지 점검하세요. 이 항목은 시스템 설정이며 Shadowrocket의 Settings가 아닙니다.
  3. ‘자동으로 설정’을 사용할 수 없다면 먼저 기기 관리 설정이나 시스템 제한을 확인하세요. 시간을 정확하게 맞춘 뒤 다시 테스트하고, 인증서 만료를 숨기려고 시스템 날짜를 과거로 되돌리지 마세요.
  4. 시간이 정확한데 인증서 오류가 계속되면 서비스 제공자에게 인증서 만료 여부, 도메인 일치 여부, 인증서 체인의 완전성을 확인하세요. 인증서 검증을 건너뛰는 방법을 일반적인 해결책으로 사용하지 마세요.

6. 지연 테스트는 정상인데 접속할 수 없는 경우: Global Routing과 규칙 확인하기

지연 테스트는 정상이지만 실제 요청이 실패한다면 요청이 예상한 경로를 통과하는지 확인하세요. Home → Global Routing의 Proxy, Direct, Config, Scene은 서로 다른 라우팅 방식입니다. Proxy는 프록시 경로를 사용하고, Direct는 직접 연결 경로를 사용하며, Config는 현재 설정에 따라 트래픽을 분기하고, Scene은 선택한 시나리오 설정에 따라 작동합니다. 이 옵션은 연결 경로를 바꾸지만 잘못된 프로토콜 인증 정보를 수정하지는 않습니다.

도메인 이름 확인도 실제 요청 과정의 일부입니다. 서버 주소의 도메인을 확인할 수 없는 경우와 서버에 연결한 뒤 대상 도메인을 확인하지 못하는 경우는 서로 다른 단계에서 발생합니다. DNS 관련 설정을 한꺼번에 바꾸지 마세요. 먼저 어떤 도메인에서 어느 경로로 요청할 때 실패하는지 파악한 다음, 설정을 하나씩 바꾸어 결과를 비교하세요.

7. 자주 묻는 질문과 문제 해결 완료 기준

지연 시간이 표시되는데도 왜 연결에 실패하나요?

지연 시간은 사용한 테스트 방법이 확인하는 단계만 보여 줍니다. Home으로 돌아가 기본 서버를 확인하고 연결한 뒤 Connectivity Test를 실행한 다음 인증 및 전송 설정을 점검하세요. 포트에 응답이 왔다고 해서 전체 프로토콜 핸드셰이크가 성공한 것은 아닙니다.

Wi-Fi에서만 시간 초과가 발생하고 셀룰러 네트워크에서는 정상이라면 어떻게 하나요?

같은 서버와 대상을 유지하고 먼저 Wi-Fi 로그인 인증을 완료한 다음 해당 네트워크에서 DNS 확인, 포트, UDP 연결 가능 여부를 점검하세요. 프로토콜을 바꾸어 달라고 바로 요청하기보다 ‘같은 설정, 다른 접속 네트워크’의 비교 결과를 서비스 제공자에게 전달하세요.

구독은 업데이트되는데 서버에 연결되지 않는 이유는 무엇인가요?

구독 업데이트는 목록을 가져오는 데 성공했다는 뜻일 뿐, 목록에 있는 모든 서버의 인증이 성공한다는 뜻은 아닙니다. 업데이트 후 Home에서 기본 항목을 다시 확인하고 해당 항목만 따로 테스트하세요. 서비스 상태와 인증 정보가 여전히 유효한지 서비스 제공자에게 문의하세요.

VPN은 연결되어 있지만 특정 웹사이트 하나만 열리지 않으면 어떻게 하나요?

먼저 정상 접속 여부를 아는 다른 대상으로 비교 테스트한 뒤 Home → Global Routing과 Config의 규칙 적용 결과를 확인하세요. 다른 대상은 정상이라면 해당 도메인의 DNS 확인, 규칙, 대상 서버 응답을 계속 점검하고 전체 설정을 바로 새로 만들지 마세요.

문제 해결을 마치려면 예상한 서버가 선택되어 있고, 프로토콜 설정이 원래 설정과 일치하며, 시스템 시간이 정확하고, 대상 요청이 의도한 경로를 통과하고, 같은 조건에서 여러 번 테스트한 결과가 안정적이어야 합니다. 변경 전후 기록을 보관하고 임시로 끈 On Demand와 임시로 바꾼 Global Routing을 원래대로 복원하세요. 문제가 계속되면 최소 재현 절차를 서비스 제공자에게 전달해 추가 점검을 요청하세요.

App Store 정식 앱 확인