ChatGPT만 타임아웃될 때 먼저 증상을 구분하기
브라우저에서 일반 웹사이트는 열리는데 ChatGPT만 “연결 시간이 초과되었습니다”, “네트워크 오류” 또는 계속되는 로딩 화면을 표시한다면 인터넷 전체가 끊긴 것은 아닐 가능성이 큽니다. 이 경우에는 Clash 자체의 실행 여부보다 ChatGPT 도메인에 적용된 규칙, 현재 선택한 노드의 품질, DNS 응답 또는 브라우저가 실제로 프록시를 사용하고 있는지를 순서대로 확인해야 합니다.
ChatGPT 접속은 단순히 한 개의 웹페이지를 여는 작업으로 끝나지 않습니다. 로그인 페이지, API 요청, 정적 리소스, 스트리밍 응답 및 보안 검증 과정에서 여러 도메인으로 연결할 수 있습니다. 첫 화면은 표시되지만 메시지를 전송할 때 멈추거나, 로그인만 실패하거나, 응답 생성 중 연결이 끊기는 경우에는 서로 다른 호스트가 다른 규칙이나 노드를 사용하고 있을 수 있습니다.
| 증상 | 가능성이 높은 원인 | 우선 확인할 항목 |
|---|---|---|
| chatgpt.com 자체가 열리지 않음 | 잘못된 규칙, 노드 장애, DNS 실패 | Clash 로그와 노드 변경 |
| 로그인은 되지만 답변 생성 중 멈춤 | 스트리밍 연결 불안정, 노드 품질 저하 | 다른 노드와 연결 로그 |
| 화면은 열리지만 입력 전송이 실패함 | 관련 API 도메인의 규칙 누락 | 요청 도메인과 정책 그룹 |
| 브라우저만 실패하고 다른 앱은 정상 | 브라우저 프록시 또는 확장 기능 충돌 | 시크릿 창과 시스템 프록시 |
| TUN을 켰을 때만 실패 | 가상 인터페이스, DNS 또는 라우팅 충돌 | TUN DNS 설정과 모드 전환 |
활성 Profile과 프록시 모드부터 확인하기
Clash Verge Rev, Clash Verge, Clash for Android 또는 다른 mihomo 클라이언트에서는 Profile을 여러 개 보관할 수 있습니다. 화면에서 노드를 선택했더라도 현재 실행 중인 Profile이 다른 파일이라면 예상한 규칙과 노드가 적용되지 않습니다. 먼저 「Profile」 또는 「설정」 화면에서 활성화 표시가 있는 항목을 확인하고, 필요한 경우 해당 Profile을 다시 선택한 뒤 업데이트하세요.
첫 번째 테스트에서는 복잡한 자동 그룹보다 수동 선택이 적합합니다. 「프록시」 화면의 주요 정책 그룹에서 특정 노드 하나를 직접 선택하고, 자동 선택이나 부하 분산 그룹은 잠시 사용하지 마세요. 자동 그룹은 테스트 주소에 대한 응답 시간이 빠른 노드를 고를 뿐, ChatGPT의 로그인과 스트리밍 요청까지 안정적으로 처리한다는 보장은 없습니다.
| 확인 항목 | 권장 상태 | 문제 발생 시 조치 |
|---|---|---|
| 활성 Profile | 사용하려는 구독 또는 로컬 YAML | 올바른 Profile 선택 후 다시 적용 |
| 실행 모드 | Rule |
처음에는 Global 또는 Direct를 피하고 규칙을 확인 |
| 정책 그룹 | 작동이 확인된 수동 노드 | 다른 지역 또는 다른 회선의 노드로 교체 |
| 시스템 프록시 | Clash가 수신 중인 포트와 일치 | 주소와 포트가 실제 mixed-port인지 확인 |
시스템 프록시와 TUN을 한꺼번에 바꾸지 않기
일반 브라우저가 HTTP·HTTPS 시스템 프록시를 따르는 환경이라면 먼저 「설정」→「시스템 프록시」를 켜고 테스트하는 것이 좋습니다. 예를 들어 설정에 mixed-port: 7890이 있다면 운영체제 프록시도 일반적으로 127.0.0.1:7890을 가리켜야 합니다. external-controller: 9090은 관리 API용 포트이므로 시스템 프록시 주소로 사용하면 안 됩니다.
TUN 모드는 시스템 프록시를 읽지 않는 애플리케이션까지 가상 네트워크 인터페이스로 처리할 때 유용하지만, DNS 가로채기와 운영체제 라우팅에 더 많은 변수가 생깁니다. 따라서 시스템 프록시에서 ChatGPT가 정상적으로 연결되는지 확인한 뒤, 필요한 경우에만 TUN을 추가로 점검하세요.
직접 테스트로 규칙과 노드 문제를 분리하기
이제 실제로 한 번에 하나의 변수만 바꾸면서 확인합니다. 아래 절차는 Clash Verge Rev와 비슷한 그래픽 클라이언트에 공통으로 적용할 수 있으며, 메뉴 이름은 버전에 따라 「Proxy」, 「프록시」, 「Profiles」 또는 「설정」으로 다르게 표시될 수 있습니다.
- ChatGPT 탭을 닫고 Clash 클라이언트에서 현재 활성 Profile을 확인합니다.
- 「프록시」 화면의 최상위 정책 그룹에서 수동 선택이 가능한 노드 하나를 지정합니다.
- 실행 모드를 「규칙」으로 설정하고, 시스템 프록시가 켜져 있는지 확인합니다.
- 브라우저의 시크릿 창에서
https://chatgpt.com을 열어 기존 쿠키나 확장 기능의 영향을 줄입니다. - 연결 로그를 열어
chatgpt.com또는 관련 요청이 표시되는지 확인합니다. - 로그에 요청이 보이지 않으면 브라우저가 Clash를 사용하지 않는 것이므로 운영체제 프록시 주소와 포트를 다시 확인합니다.
- 요청은 보이지만 실패한다면 같은 그룹에서 다른 노드를 선택하고 페이지를 새로고침합니다.
- 두세 개의 노드에서 같은 결과가 반복될 때만 규칙과 DNS 설정을 변경합니다.
mixed-port: 7890
mode: rule
log-level: info
allow-lan: false
로그에서 connect, timeout, context deadline exceeded, dial tcp 또는 TLS 관련 오류를 찾으세요. timeout이 특정 노드에서만 반복되면 해당 노드의 출구 품질이나 원격 서버 연결 문제가 의심됩니다. 반대로 모든 노드에서 동일한 도메인만 거부되면 규칙, DNS 또는 클라이언트 네트워크 경로를 확인해야 합니다.
명령줄에서 프록시 경로 확인하기
브라우저 확장 기능을 제외하고 HTTP 프록시 자체를 테스트하려면 로컬 혼합 포트를 명시한 curl 명령을 사용할 수 있습니다. 다음 예시에서 주소와 포트는 자신의 설정에 맞게 바꾸세요.
curl -I --proxy http://127.0.0.1:7890 \
--connect-timeout 10 --max-time 20 \
https://chatgpt.com
응답이 돌아온다고 해서 ChatGPT의 모든 기능이 정상이라는 뜻은 아니지만, 적어도 명령줄 요청이 Clash로 전달되는지 확인하는 데 도움이 됩니다. 명령줄은 성공하고 브라우저만 실패한다면 브라우저 확장 프로그램, 별도 프록시 설정, 캐시 또는 보안 소프트웨어를 의심하세요.
ChatGPT 관련 규칙과 DNS 충돌 점검하기
규칙 모드에서는 요청한 도메인이 어떤 정책 그룹으로 전달되는지가 핵심입니다. 구독 설정에 오래된 규칙이 포함되어 있거나, ChatGPT 관련 도메인이 DIRECT로 빠지면 브라우저는 프록시와 직접 연결을 섞어 사용하게 됩니다. 반대로 너무 넓은 규칙이 모든 요청을 하나의 불안정한 그룹으로 보내도 타임아웃이 발생할 수 있습니다.
연결 로그에서 도메인별로 선택된策略를 확인하세요. 로그에 표시되는 실제 호스트 이름은 접속 시점과 기능에 따라 달라질 수 있으므로, 특정 도메인 하나만 영구적으로 추가하기보다 현재 Profile의 규칙 공급자와 업데이트 상태를 먼저 확인하는 편이 안전합니다. 구독을 업데이트한 뒤에도 이전 설정이 메모리에 남아 있을 수 있으므로 업데이트 후 코어를 다시 시작하거나 Profile을 다시 적용하세요.
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
nameserver:
- https://1.1.1.1/dns-query
- https://dns.google/dns-query
rules:
- MATCH,PROXY
위 YAML은 구조를 설명하기 위한 예시이며, 실제 설정에 그대로 덮어쓰라는 뜻은 아닙니다. 특히 enhanced-mode: fake-ip를 사용하는 경우 일부 보안 프로그램이나 네트워크 환경과 충돌할 수 있습니다. DNS 설정을 바꿀 때는 기존 nameserver, fallback, fake-ip-filter를 먼저 백업하세요.
DNS 문제를 판별하는 방법
브라우저에서 도메인을 열 수 없고 Clash 로그에 DNS 조회 실패, no such host, i/o timeout 같은 메시지가 나타나면 DNS 경로를 의심할 수 있습니다. 반대로 도메인 해석은 성공하지만 원격 연결이 시간 초과된다면 DNS보다 노드 또는 출구 네트워크의 문제일 가능성이 높습니다. Windows에서는 다음 명령으로 기본 DNS 응답을 비교할 수 있습니다.
nslookup chatgpt.com
nslookup chatgpt.com 1.1.1.1
두 결과가 다르다는 사실만으로 어느 쪽이 정답이라고 단정할 수는 없습니다. 중요한 것은 Clash가 실제로 어떤 DNS 서버를 사용하고, 그 결과를 프록시 규칙과 함께 어떻게 처리하는지입니다. DNS 설정 변경 후에는 브라우저를 완전히 종료하고 다시 실행해 캐시된 연결을 제거하세요.
TUN 모드에서만 실패할 때 마지막으로 확인할 항목
시스템 프록시에서는 ChatGPT가 정상인데 TUN을 켰을 때만 타임아웃된다면 애플리케이션 문제가 아니라 가상 인터페이스 경로의 충돌일 수 있습니다. 「설정」→「TUN」 또는 「네트워크」에서 TUN이 활성화되었는지 확인하고, 자동 라우팅과 DNS 가로채기 옵션을 한 번에 모두 바꾸지 마세요. 먼저 TUN을 끄고 정상 연결을 재현한 다음, TUN만 켜고 다시 비교해야 변경 결과를 구분할 수 있습니다.
| 비교 결과 | 판단 | 다음 조치 |
|---|---|---|
| 시스템 프록시와 TUN 모두 실패 | 노드, 규칙 또는 구독 문제 가능성 | 수동 노드와 연결 로그부터 재검사 |
| 시스템 프록시만 성공 | TUN 라우팅 또는 DNS 충돌 가능성 | TUN 자동 라우팅과 DNS 모드 점검 |
| TUN만 성공 | 브라우저가 시스템 프록시를 사용하지 않음 | 브라우저 프록시와 확장 기능 확인 |
| 한 노드에서만 성공 | 노드별 출구 품질 차이 | 정상 노드를 수동 그룹에 임시 고정 |
추가로 운영체제에 남아 있는 다른 VPN, 프록시 프로그램, 광고 차단 DNS, 보안 소프트웨어의 HTTPS 검사 기능도 확인하세요. 두 개의 가상 어댑터가 동시에 기본 경로를 차지하거나, 다른 프로그램이 로컬 DNS 포트를 점유하면 Clash 로그와 브라우저 동작이 서로 다르게 보일 수 있습니다.
정리하면 먼저 활성 Profile과 시스템 프록시를 확인하고, 수동 노드 하나로 연결 경로를 고정한 뒤, 로그에서 ChatGPT 요청이 어느 정책으로 처리되는지 확인해야 합니다. 그 다음 규칙과 DNS를 점검하고, 마지막 단계에서 TUN을 분리 테스트하세요. 이 순서를 지키면 “ChatGPT 서버가 무조건 차단되었다”라고 추측하기보다 실제로 실패한 구간을 찾아 설정을 최소한으로 수정할 수 있습니다.