v2rayN, v2rayNG, v2flyNG의 구독 업데이트 오류를 다룹니다. 먼저 구독 내용을 가져오지 못한 경우와 내용을 가져왔지만 노드를 인식하지 못한 경우를 구분한 뒤 링크 권한, 응답 형식, 업데이트 경로, 인증서를 확인하세요. 기존에 작동하는 설정은 보존하고 한 번에 한 가지 조건만 바꾸면서 업데이트 로그에서 오류가 발생한 단계를 확인합니다.
업데이트 실패 단계부터 확인하기
구독 업데이트는 클라이언트가 서버 목록을 가져오는 과정이지, 노드 연결 테스트가 아닙니다. 클라이언트가 구독 주소에 접속해 응답을 받고 내용을 파싱한 뒤 해당 그룹에 기록합니다. 이후 Xray 또는 V2Fly 코어가 노드 설정을 사용해 연결을 구성합니다. 따라서 구독 업데이트에 성공해도 모든 노드가 연결되는 것은 아니며, 기존 노드가 작동해도 구독 주소가 여전히 유효하다는 뜻은 아닙니다.
링크와 권한, 콘텐츠 형식, 업데이트 네트워크, TLS 인증서 순으로 확인하세요. 확인하기 쉽고 수정 부담이 적은 항목부터 점검하기 위한 순서이며, 모든 네트워크 환경에서 같은 비율로 문제가 발생한다는 뜻은 아닙니다. 클라이언트 로그를 열고 이번 업데이트 시간과 오류 유형 전체를 기록해 이전 연결 로그를 구독 오류로 착각하지 않도록 하세요.
- 연결 시간 초과 또는 도메인 이름 확인 실패: 유효한 응답을 받지 못했을 가능성이 큽니다. 네트워크와 DNS를 먼저 확인하세요.
- 401, 403 또는 404 응답: 서버가 요청에 응답한 상태입니다. 권한, 접근 정책, 주소를 먼저 확인하세요.
- 업데이트 완료로 표시되지만 노드 수가 0: 응답 본문, 형식 호환성, 현재 그룹의 필터 설정을 먼저 확인하세요.
- 목록은 표시되지만 노드를 사용할 수 없음: 노드 매개변수, 코어 지원 여부, 라우팅을 점검하세요. 구독을 반복해서 초기화하지 마세요.
링크 만료와 권한 변경: 구독 주소 확인
구독 링크에는 계정 토큰이 포함되는 경우가 많습니다. 구독을 재설정하거나 요금제가 만료되거나 계정 상태가 바뀌거나 제공 업체가 API를 변경하면 기존 주소가 작동하지 않을 수 있습니다. 브라우저에서 계정 페이지에 로그인할 수 있어도 웹 세션이 유효하다는 뜻일 뿐, 클라이언트의 구독 요청에 같은 로그인 정보가 전달된다고 볼 수는 없습니다. 복사할 주소는 제공 업체가 안내한 구독 주소여야 하며, 관리 페이지 주소가 아닙니다.
-
기존 목록 보존하기
현재 그룹 이름과 노드 수를 기록하세요. 백업을 내보내야 한다면 접근을 제한한 로컬 위치에 저장하세요. 기존 그룹은 삭제하지 말고, 토큰이 포함된 링크가 보이는 화면을 공개하지 마세요.
-
주소 다시 발급받기
제공 업체의 구독 관리 페이지에서 계정 상태를 확인한 뒤 해당 클라이언트용 형식의 주소를 다시 복사하세요. 쿼리 매개변수는 모두 유지하고, 복사 과정에서 섞인 공백·줄 바꿈·따옴표는 제거하세요.
-
그룹 설정 확인하기
v2rayN에서는 보통 「구독 그룹」→「구독 그룹 설정」에서 대상 그룹의 주소를 확인할 수 있습니다. Android에서는 메인 화면 메뉴에서 「구독 그룹 설정」으로 이동해 해당 항목을 수정하세요. 메뉴 이름은 버전에 따라 조금 다를 수 있습니다.
-
대상 그룹만 업데이트하기
저장한 다음 해당 그룹만 업데이트하고 로그를 바로 확인하세요. 모든 소스를 한꺼번에 업데이트하면 한 그룹의 성공 메시지가 다른 그룹의 오류를 가릴 수 있습니다.
주소를 새로 발급하면 기존 토큰이 무효화되는 경우가 많으며, 다른 기기에서도 주소를 변경해야 합니다. 403 응답만으로 요금제 만료라고 단정하지 마세요. 접속 위치 제한, 보안 페이지, 요청 빈도 제한도 같은 상태 코드를 반환할 수 있습니다. 상태 코드와 제공 업체 계정 페이지의 정보를 함께 확인하세요.
노드 목록이 비어 있을 때: 응답 내용과 형식 확인
HTTP 요청 성공은 콘텐츠를 가져왔다는 뜻일 뿐, 노드 목록을 가져왔다는 뜻은 아닙니다. 로그인 페이지, 점검 안내, 보안 확인 페이지, JSON 오류 메시지도 200 상태 코드로 반환될 수 있습니다. 파싱 결과가 비어 있다면 클라이언트 업그레이드보다 먼저 응답 내용을 확인하세요. 같은 오류 페이지를 반복해서 붙여 넣어도 결과는 달라지지 않습니다.
| 실제 콘텐츠 | 확인할 점 | 해결 방법 |
|---|---|---|
| 구독 요청 주소 | 대개 HTTPS로 시작하며 목록을 가져오는 데 사용 | 구독 그룹의 주소 입력란에 넣고 업데이트 실행 |
| 단일 공유 링크 | 보통 vmess:// 또는 vless://로 시작 | 클립보드에서 가져오기 기능을 사용하며 원격 구독 주소로는 사용하지 않음 |
| Base64 인코딩 목록 | 디코딩하면 보통 여러 개의 공유 링크가 나옴 | 클라이언트가 해당 구독 인코딩 및 프로토콜을 지원하는지 확인 |
| 기타 설정 텍스트 | YAML 또는 전체 JSON 설정 파일일 수 있음 | 현재 클라이언트에 맞는 구독 형식을 제공 업체에 요청 |
| 웹페이지 또는 오류 메시지 | HTML 태그, 로그인 안내 또는 권한 설명이 포함됨 | 노드가 아닌 주소, 권한 또는 접근 정책을 수정 |
Base64는 인코딩 방식이지 암호화나 프로토콜 이름이 아닙니다. 문자열이 길어 보인다는 이유만으로 내용이 완전하고 유효하다고 판단할 수 없습니다. 임의로 문자를 추가하지 마세요. 내용을 확인해야 한다면 보안이 확보된 로컬 환경에서 확인하고, 먼저 복사 과정에서 잘리지 않았는지 점검한 뒤 디코딩 결과에 실제 공유 링크가 포함되어 있는지 확인하세요.
클라이언트가 공유 링크 형식을 파싱할 수 있는지와 선택한 코어가 해당 설정을 실행할 수 있는지는 별개입니다. Android의 v2rayNG는 Xray 코어를, v2flyNG는 V2Fly 코어를 사용합니다. REALITY 같은 기능을 사용할 때는 실제 코어의 지원 여부와 버전을 확인하세요. 클라이언트를 바꿔도 만료된 토큰은 복구되지 않으며 임의의 설정 파일이 호환되는 구독 형식으로 자동 변환되지도 않습니다.
- 메인 화면의 검색 조건을 해제하고 다른 구독 그룹을 선택한 것은 아닌지 확인하세요.
- 업데이트 전후의 그룹별 노드 수를 비교해 필터 조건 때문에 노드가 숨겨진 것은 아닌지 확인하세요.
- 일부 노드만 건너뛴 경우 해당 프로토콜과 파싱 오류를 기록하세요. 모든 노드가 만료된 것으로 판단하지 마세요.
프록시를 거치지 않는 업데이트: 직접 연결과 프록시 경로를 각각 테스트
구독 요청이 브라우저와 같은 네트워크 경로를 이용한다고 단정할 수 없습니다. 일부 클라이언트는 구독 업데이트 경로를 별도로 설정합니다. 시스템 프록시가 켜져 있어도 업데이트 옵션에서 「프록시 사용 안 함」을 선택하면 직접 연결됩니다. 반대로 업데이트에 필요한 현재 노드가 이미 작동하지 않는다면 프록시를 통한 업데이트도 실패해, 사용할 수 있는 노드를 얻으려면 먼저 업데이트해야 하는 상황이 생길 수 있습니다.
-
직접 연결로 업데이트 테스트
v2rayN의 「구독 그룹」 메뉴에서 현재 구독의 「프록시 사용 안 함」 업데이트 항목을 선택하세요. 단순히 실패라고만 기록하지 말고 시간 초과, 이름 확인 실패, HTTP 상태 중 무엇이 발생했는지 확인하세요.
-
프록시가 작동하는지 확인
이미 작동 여부를 확인한 노드를 선택하고 코어가 실행 중인지, 일반 HTTPS 요청이 완료되는지 확인하세요. 지연 시간 테스트 결과만으로 웹 요청 전체가 정상이라고 볼 수는 없습니다.
-
프록시를 통해 업데이트
같은 메뉴에서 「프록시 사용」에 해당하는 업데이트 항목을 선택하세요. Android에서는 기존에 작동하는 설정으로 연결한 뒤 메인 화면 메뉴에서 구독을 업데이트하고, 이번 실행의 로그를 확인하세요. 연결 아이콘만 보고 요청 경로를 판단해서는 안 됩니다.
-
두 결과 비교하기
프록시 업데이트는 성공하고 직접 연결은 실패했다면 직접 연결 네트워크와 이름 확인을 중점적으로 점검하세요. 직접 연결은 성공하고 프록시 업데이트는 실패했다면 프록시의 외부 연결과 구독 도메인 접근 정책을 확인하세요. 두 방법 모두 실패할 때 링크와 인증서를 추가로 점검하세요.
데스크톱에서 로컬 프록시 포트를 확인하려면 「설정」→「매개변수 설정」에 실제로 표시된 수신 대기 값을 기준으로 하세요. 예를 들어 화면에 127.0.0.1:10808로 설정된 경우에만 해당 포트를 확인하면 됩니다. 10808이 모든 버전과 프로토콜의 공통 기본값은 아닙니다. HTTPS 구독은 보통 원격 서버의 443 포트에 접속하며, 이는 로컬 프록시 수신 포트와는 별개입니다.
인증서 및 네트워크 오류: 로그 문구에 맞는 해결 방법
TLS 인증서 검증은 구독 콘텐츠를 파싱하기 전에 진행됩니다. 인증서 오류가 발생하면 클라이언트가 구독 본문을 아예 받지 못할 수 있습니다. 먼저 시스템 날짜와 시간대, 자동 시간 동기화를 확인한 뒤 구독 도메인과 인증서 체인을 점검하세요. 노드 설정의 「인증서 검증 건너뛰기」를 구독 다운로드 해결 옵션으로 사용하지 마세요. 서로 다른 요청 계층에 해당할 수 있습니다.
오류: x509: certificate has expired or is not yet valid
원인 및 해결: 인증서 유효 기간과 현재 시간이 맞지 않는 상태입니다. 기기 시간이 잘못됐거나 서버 인증서가 만료됐을 수 있습니다. 먼저 시스템 시간을 동기화하고, 문제가 계속되면 제공 업체에 인증서 갱신을 요청하세요.
오류: x509: certificate signed by unknown authority
원인 및 해결: 기기가 인증서 발급 체인을 신뢰하지 않거나 네트워크 장비가 인증서를 교체했을 수 있습니다. 시스템의 신뢰 저장소를 업데이트하고 신뢰할 수 있는 네트워크에서 다시 테스트하세요. 서버 측에서는 인증서 체인을 완전하게 제공해야 합니다. 출처가 불분명한 루트 인증서는 설치하지 마세요.
오류: Could not resolve host
원인 및 해결: 현재 이름 확인 경로에서 구독 도메인의 IP 주소를 찾지 못했습니다. 도메인 철자를 확인하고 네트워크가 연결되어 있는지 점검한 뒤 다른 신뢰할 수 있는 네트워크에서의 결과와 비교하세요.
오류: Connection refused
원인 및 해결: 대상 포트에서 연결을 거부했습니다. 대상이 구독 서버인지 로컬 프록시인지 먼저 로그의 호스트와 포트로 구분한 뒤 서비스 상태나 프록시 수신 설정을 확인하세요.
운영체제와 요청 처리 구성 요소에 따라 오류 문구가 다를 수 있습니다. 위 문구는 흔히 볼 수 있는 예시이며 로그와 정확히 일치할 필요는 없습니다. 「연결이 재설정되었습니다」나 시간 초과가 표시돼도 그 한 문장만으로 인증서 문제라고 단정할 수 없습니다. 오류가 발생한 단계를 함께 확인하세요.
- Android: 시스템 「설정」→「시스템」→「날짜 및 시간」에서 자동 시간 설정을 확인하세요. 메뉴 경로는 기기 시스템에 따라 다를 수 있습니다.
- Windows: 「설정」→「시간 및 언어」→「날짜 및 시간」에서 시간 동기화를 실행할 수 있습니다.
- 공용 네트워크: 먼저 네트워크 접속 인증을 완료하세요. 인증 페이지가 요청을 가로채 구독 요청에 웹페이지를 반환할 수 있습니다.
- 인증서 오류가 계속될 때: 도메인을 IP 주소로 직접 바꾸지 마세요. 인증서 이름 불일치가 발생하거나 서버 라우팅이 깨질 수 있습니다.
업데이트 복구 후 결과 확인 및 기록
문제를 해결한 뒤에는 업데이트 결과 확인과 실제 노드 연결 검증을 각각 한 번 이상 진행하세요. 먼저 대상 그룹에 예상한 항목이 나타나는지 확인한 다음 노드 하나를 선택해 테스트하세요. 업데이트에 성공했지만 연결에 실패한다면 업데이트 성공 기록은 보존하고 노드 매개변수, 코어 지원 여부, 시스템 프록시, 라우팅 규칙을 점검하세요.
-
업데이트 결과 확인
이번 실행에서 파싱 오류가 남지 않았는지, 검색 조건이 목록을 가리지 않는지, 노드가 올바른 그룹에 속해 있는지 확인하세요. 노드 수 변화는 제공 업체가 실제로 제공하는 콘텐츠와 일치해야 합니다.
-
노드 하나 연결 테스트
새 항목 하나를 선택해 연결한 뒤 일반 HTTPS 페이지에 접속하세요. 지연 시간 테스트와 실제 접속 결과를 따로 기록하고 하나의 테스트 수치만으로 결론을 내리지 마세요.
-
민감 정보 제거 후 기록 정리
클라이언트 버전, 운영체제, 업데이트 시각, 직접 연결 또는 프록시 사용 여부, HTTP 상태, 오류 원문을 기록하세요. 전송하기 전에 토큰, 노드 비밀번호, 전체 구독 본문을 삭제하세요.
추가 지원이 필요하다면 「같은 주소를 직접 연결로 업데이트하면 시간 초과가 나고, 기존 노드를 통해 업데이트하면 403이 반환됩니다」처럼 두 결과를 비교해 설명하세요. 「구독이 고장 났어요」라고만 하는 것보다 네트워크 문제와 권한 문제를 구분하기 쉽습니다. 업데이트 버튼을 짧은 간격으로 반복해서 누르지 마세요. 429 상태나 명확한 요청 제한 안내가 나타나면 서버 지침에 따라 기다린 뒤 다시 시도하세요.