Shadowrocket이 Connected로 표시되는데도 ChatGPT 앱이나 웹페이지가 열리지 않는다면 VPN 연결 상태만으로 원인을 단정할 수 없습니다. iPhone의 네트워크, Home의 Global Routing, 실제 요청에 적용된 규칙, DNS 및 사용 중인 SERVER 항목을 차례로 확인하세요. 이 안내는 본인이 이미 보유한 연결 설정을 점검하는 방법이며, 특정 연결 서비스나 노드를 제공하거나 추천하지 않습니다.
1. ChatGPT 오류와 VPN 연결 상태를 따로 확인하기
ChatGPT를 열 때는 iPhone의 현재 네트워크가 연결되어 있어야 하고, Shadowrocket의 시스템 VPN 터널도 작동해야 합니다. 그다음 요청이 어떤 Global Routing 방식과 규칙을 따르는지, DNS 조회와 원격 연결이 성공하는지도 영향을 줍니다. Home에 Connected가 표시되는 것은 터널 연결 상태를 알려 주는 것이지, ChatGPT의 모든 요청이 성공했다는 뜻은 아닙니다.
먼저 문제가 ChatGPT 앱에만 나타나는지, Safari 같은 브라우저에서도 같은지 확인하세요. 앱과 웹에서 모두 실패하면 공통 네트워크, 라우팅 또는 연결 설정을 우선 살펴볼 수 있습니다. 앱만 실패한다면 앱을 완전히 종료한 뒤 다시 열고, 로그인 화면이나 오류 메시지가 바뀌는지 확인하세요. 웹만 실패한다면 주소를 직접 입력했을 때의 결과와 브라우저에 표시되는 오류 문구를 기록합니다.
- 한 네트워크에서만 실패: Wi-Fi와 셀룰러 중 어느 쪽에서 발생하는지 구분하고, Wi-Fi 로그인 절차가 남아 있지 않은지 확인합니다.
- 여러 앱과 사이트도 실패: ChatGPT만의 문제로 단정하지 말고 iPhone의 인터넷 연결과 Shadowrocket의 터널 상태부터 점검합니다.
- ChatGPT만 실패: 실제 요청이 적용받는 라우팅 규칙과 연결 상태를 확인하고, 잠시 후 같은 네트워크에서 다시 시험합니다.
서버 응답이 느리거나 서비스 쪽에서 일시적인 문제가 발생해도 앱이 로딩을 끝내지 못할 수 있습니다. 오류 발생 시각, 앱 또는 웹 중 어디서 생겼는지, Wi-Fi와 셀룰러 중 어떤 네트워크였는지를 적어 두면 설정 변경 전후를 비교하기 쉽습니다. 반복해서 새로고침하거나 여러 설정을 동시에 바꾸면 어떤 변화가 영향을 주었는지 알기 어려워집니다.
2. Global Routing과 ChatGPT 요청에 적용되는 규칙 확인
Home에서 연결 스위치와 선택된 SERVER 항목을 확인한 다음, Global Routing에 어떤 항목이 선택되어 있는지 살펴보세요. Direct는 요청을 직접 연결하는 방식이므로, 프록시 경로를 사용하려는 상황이라면 설정 의도와 맞는지 확인해야 합니다. Proxy는 프록시 경로를 사용하도록 하는 선택지이고, Config는 현재 구성의 규칙을 따릅니다. Scene이 선택된 경우에는 현재 Scene의 동작도 확인해야 합니다.
현재 구성에 작성된 규칙에 따라 요청을 처리합니다. ChatGPT 관련 요청이 어떤 정책에 매칭되는지 확인할 때 사용합니다.
적합: 구성 파일의 라우팅 규칙을 확인할 때
규칙을 하나씩 판별하는 대신 프록시 경로에서 동작하는지 비교할 때 사용할 수 있습니다. 이 선택만으로 DNS를 포함한 모든 요청 경로가 동일해진다고 단정할 수는 없습니다.
적합: Config 규칙과의 차이를 제한적으로 비교할 때
요청을 직접 연결하는 선택입니다. 이 모드에서만 실패하거나 성공한다면 연결 경로가 문제에 관여하는지 살펴보세요.
적합: 직접 연결 여부를 확인할 필요가 있을 때
Config를 사용 중이라면 Config에서 현재 활성화된 구성의 [Rule] 항목을 확인합니다. 특정 도메인 하나만 추가하거나 순서를 바꾸기 전에, 앱에서 실제로 접속한 호스트가 무엇인지 먼저 확인하세요. ChatGPT 앱과 웹페이지는 요청 종류에 따라 서로 다른 호스트를 사용할 수 있고, 로그인·콘텐츠 로딩 등 여러 요청이 한 번에 발생할 수 있습니다. 화면에 보이는 기본 주소 하나만으로 관련 요청 전체를 대표한다고 볼 수 없습니다.
규칙이 위에서부터 평가되는 구성이라면 구체적인 예외 규칙이 더 넓은 범위의 규칙이나 FINAL보다 뒤에 있는지 살펴보세요. 예를 들어 아래 줄은 문법을 보여 주기 위한 예시일 뿐이며 실제 사용 중인 규칙을 그대로 바꾸라는 뜻은 아닙니다.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
example.com은 문서용 예시 도메인입니다. 이 예시를 ChatGPT 접속용 고정 도메인 목록으로 사용하지 마세요. 규칙은 실제 요청 호스트와 현재 구성의 정책에 맞아야 합니다. 규칙을 편집하기 전 원래 내용을 보관하고, 바꾼 뒤에는 같은 네트워크와 같은 앱 또는 웹 주소로 결과를 비교하세요.
판단 기준: Proxy와 Config의 결과 차이부터 좁혀 보세요
같은 iPhone 네트워크와 같은 SERVER 항목에서 Proxy는 동작하지만 Config에서 실패한다면, 연결 정보를 먼저 교체하기보다 Config 선택 여부와 실제로 매칭되는 규칙을 확인하세요. 두 방식에서 모두 실패한다면 DNS나 공통 연결 문제도 함께 점검합니다.
3. 설정을 하나씩 확인하는 실전 순서
아래 절차는 설정을 여러 개 동시에 바꾸지 않고 실패 지점을 분리하기 위한 것입니다. 시험 전 현재 선택값과 오류 문구를 기록해 두세요. 테스트가 끝나면 임시로 변경했던 Global Routing이나 구성 값을 원래대로 복원합니다.
-
네트워크 기록
iPhone이 Wi-Fi인지 셀룰러인지 적습니다. Wi-Fi를 사용한다면 Safari에서 일반 웹페이지가 열리는지와 로그인 안내가 남아 있는지 확인하세요.
-
VPN 상태 확인
Shadowrocket의 Home에서
Connected인지 확인합니다.Not Connected라면 ChatGPT 오류 분석에 앞서 기존 연결 설정과 VPN 연결 상태를 점검합니다. -
SERVER 확인
Home의 SERVER에서 본인이 사용 중인 항목이 선택되어 있는지 확인합니다. 항목이 목록에 보이는 것과 연결이 실제로 성립한 것은 다른 상태입니다.
-
라우팅 기록
Home → Global Routing에서 현재 선택을 기록합니다. 규칙 문제를 확인할 때는 Config의 활성 구성과 관련 규칙을 살펴보고, 필요한 경우에만 한 차례 비교 테스트를 합니다.
-
앱과 웹 재시험
먼저 ChatGPT 앱을 완전히 종료했다가 다시 열고, 이어서 브라우저에서도 같은 문제가 나는지 확인합니다. 결과와 오류 문구를 기록한 뒤 임시 변경을 원래 상태로 되돌립니다.
비교 테스트를 위해 라우팅 방식을 바꾸었다면 확인 후 원래 선택으로 복구하세요. 재시험에서 한 방식만 성공하더라도 그것만으로 특정 도메인 규칙이나 DNS 설정이 유일한 원인이라고 확정할 수는 없습니다. 테스트 시각이나 네트워크 상태가 달라졌을 가능성도 있으므로 같은 조건으로 다시 확인하는 것이 좋습니다.
4. DNS, 연결 시간 초과, TLS 오류 구분
DNS는 도메인 이름을 네트워크 주소로 확인하는 과정입니다. 주소 조회가 되었다고 해서 해당 주소까지 연결이 성공한 것은 아닙니다. 반대로 연결 시간 초과는 DNS 외에 경로, 원격 응답 또는 현재 네트워크 상태와 관련될 수 있습니다. Settings → DNS에서 현재 설정을 확인하되, 오류가 있다는 이유만으로 여러 DNS 값을 한꺼번에 변경하지 마세요.
DNS 확인
- 위치
- Settings → DNS
- 먼저 기록
- 현재 DNS 관련 선택과 구성 파일의 값
- 오류 단서
- 도메인을 찾지 못했다는 메시지나 조회 실패
기존 값을 기록한 뒤 한 항목만 조정하고 동일한 요청으로 재시험하세요.
규칙 확인
- 위치
- Home → Global Routing, Config → [Rule]
- 먼저 기록
- 활성 구성, 선택한 라우팅, SERVER 항목
- 오류 단서
- 예상과 다른 정책 또는 규칙 매칭
구성을 수정한 경우 변경한 줄과 원래 값을 함께 보관하세요.
Shadowrocket의 로그에 요청이 표시되는 경우에는 실패한 호스트와 오류 종류를 함께 살펴보세요. 로그 형식과 문구는 상황에 따라 달라질 수 있으므로 아래 표현은 오류 유형을 구분하기 위한 예시입니다. 문구 하나만으로 원인을 단정하지 말고, 같은 시각의 연결 상태와 실제 접속 결과를 함께 비교하세요.
예시: DNS lookup failed
가능한 원인과 확인: 도메인 조회가 완료되지 않았을 수 있습니다. Settings → DNS의 현재 설정과 해당 요청의 호스트 이름을 기록하고, 한 번에 한 설정만 조정해 다시 확인하세요.
예시: Connection timed out
가능한 원인과 확인: 대상에 연결이 완료되지 않은 상태일 수 있습니다. Wi-Fi와 셀룰러 차이, Home의 Connected 상태, 선택한 SERVER 및 Global Routing을 차례로 확인하세요.
예시: TLS handshake failed
가능한 원인과 확인: TLS 연결 과정에서 문제가 생겼을 수 있으며 DNS 실패와 같은 뜻은 아닙니다. 기기의 날짜와 시간 설정, 오류가 난 호스트, 해당 요청에 적용된 경로를 확인하고 구성 매개변수를 임의로 삭제하지 마세요.
도메인 조회가 정상으로 보이는데도 접속이 안 된다면 “주소를 얻었는지”와 “해당 주소로 연결되었는지”를 분리해 보세요. TLS 오류가 보인다면 TLS 관련 연결 단계에서 실패했다는 단서이지, 특정 DNS 서버를 사용해야 한다는 결론은 아닙니다. 오류가 ChatGPT 앱과 웹에서 모두 반복되는지, 한쪽에서만 나타나는지도 원인 범위를 좁히는 데 도움이 됩니다.
5. 자주 묻는 질문
- Connected인데 ChatGPT만 열리지 않으면 VPN이 정상인 건가요?
Connected는 터널 상태를 나타냅니다. ChatGPT 요청의 규칙, DNS 조회, 원격 연결과 서비스 응답은 별도로 확인해야 합니다. 앱과 웹에서 각각 재시험하고 실패한 호스트와 오류 문구를 기록하세요. - Config 대신 Proxy로 바꾸면 항상 해결되나요?
항상 그렇지는 않습니다. 두 방식의 결과 차이는 규칙 또는 구성에 따른 라우팅을 점검하는 단서입니다. 비교 후에는 원래 설정으로 복원하고, 성공 여부만으로 고정 규칙을 추측해 추가하지 마세요. - DNS를 바로 다른 값으로 변경해도 되나요?
먼저 Settings → DNS와 활성 구성의 현재 값을 기록하세요. 조회 실패가 확인되면 한 항목만 변경해 같은 요청으로 시험하고, 차이가 없으면 기존 값으로 되돌립니다. - 앱에서는 실패하지만 브라우저에서는 열립니다. 무엇을 확인하나요?
앱을 완전히 종료하고 다시 실행한 뒤, Shadowrocket에서 해당 시각의 요청과 적용 규칙을 확인하세요. 앱과 웹은 요청 호스트가 다를 수 있으므로 브라우저에서 성공한 주소만으로 앱의 요청 전체를 판단하지 마세요.
문제가 계속되면 임의로 규칙을 늘리거나 DNS와 연결 설정을 모두 초기화하기보다, 오류 시각·네트워크 종류·앱 또는 웹의 구분·로그에 나타난 호스트와 오류 문구를 정리하세요. 본인이 사용하는 서비스의 설정이 유효한지 확인할 필요가 있다면 해당 서비스 제공자에게 문의하되, 계정 정보나 전체 구독 주소처럼 민감한 값은 공개된 장소에 올리지 마세요.