증상: 웹은 되는데 대화·API만 불안정할 때
브라우저에서 다른 해외 사이트는 무난한데 ChatGPT 웹 버전만 입력 지연이 크거나, 긴 답변이 스트리밍 도중 끊기는 패턴은 흔합니다. API를 쓰는 개발자 환경에서는 curl·SDK 호출이 간헐적으로 타임아웃되고, 같은 스크립트가 다른 회선에서는 정상인 경우도 있습니다. 원인은 단순히 회선 대역만이 아니라 호스트가 여럿으로 쪼개진다는 점에서 출발합니다. 로그인·세션에는 auth.openai.com·accounts 계열이, 대화 UI에는 chat.openai.com·chatgpt.com 일대가, 정적 자원에는 oaistatic.com 등이 동시에 등장합니다. API 트래픽은 api.openai.com을 중심으로 잡히며, 문서·대시보드는 platform.openai.com 등이 추가될 수 있습니다.
한쪽 호스트만 국내 직결이 되고 다른 쪽만 우회가 필요한 환경이라면, 분류 규칙이 일부만 덮거나 규칙 순서가 꼬여 세션이 중간에 끊길 수 있습니다. 브라우저는 OS 시스템 프록시를 따르는 반면, 터미널·백그라운드 프로세스는 프록시를 모르고 직접 나가는 경우가 있습니다. Clash에서 TUN으로 캡처 범위를 넓히면 이런 불일치를 줄일 수 있습니다. Windows에서 클라이언트 설치가 필요하면 Windows용 Clash Verge Rev 설치 가이드를 먼저 밟고 이 글의 규칙을 적용하는 편이 실수가 적습니다.
긴 컨텍스트·스트리밍 응답은 지연이 낮아 보여도 패킷 손실·재전송이 있으면 체감이 크게 나빠집니다. “규칙은 맞는데 끊긴다”면 출구 노드 품질과 동시에 DNS 경로도 의심해야 합니다. 연결 안정성은 노드만이 아니라 해석 경로와 규칙 엔진이 본 도메인 문자열의 일관성에도 좌우됩니다. 이후 절에서는 규칙 적중 확인 → DNS·FakeIP·DoH 정합성 → 노드·로그 대조 순으로 좁혀 가는 흐름을 권장합니다.
이 글은 ChatGPT “모델 리뷰”가 아닙니다
무료·유료 한도, 컨텍스트 길이, 엔드포인트 스펙은 OpenAI 공식 문서와 상태 페이지가 가장 정확합니다. 여기서 다루는 것은 네트워크 스택입니다. 즉, 어떤 도메인이 어떤 정책 그룹을 타야 하는지, DNS 응답이 규칙 매칭과 맞는지, FakeIP와 스니퍼 설정이 충돌하지 않는지입니다. 이 관점을 유지하면 동일한 절차를 다른 클라우드 LLM에도 이식하기 쉽습니다.
1OpenAI·ChatGPT 관련 호스트 식별하기
고정된 “영구 정답 목록”보다 본인 환경에서 관측한 호스트를 우선합니다. 브라우저 개발자 도구의 Network 탭에서 openai·chatgpt·oai로 필터링하면 웹 버전 세션이 실제로 붙는 호스트를 확인할 수 있습니다. API는 실패 로그에 URL이 그대로 남는 경우가 많으니, 타임아웃이 났을 때 도메인부터 메모해 두세요. 흔히 보이는 이름으로는 대화 UI용 chat.openai.com·chatgpt.com, API용 api.openai.com, 정적 자원 oaistatic.com, 개발자 콘솔·문서 platform.openai.com 등이 있습니다. 제품 릴리스에 따라 호스트가 바뀔 수 있으므로 관측을 기본으로 삼는 것이 안전합니다.
OAuth·로그인 흐름이 DIRECT인데 본체만 PROXY인 식으로 갈라지면 쿠키·리다이렉트 루프가 생기기도 하므로, 인증 전체를 한 번에 관측해 보는 것이 좋습니다. 규칙 순서에서 앞선 한 줄이 뒤의 세밀한 규칙을 삼켜 버리는 일이 잦으니, 로그에서 실제 매칭된 규칙 이름을 확인하는 습관이 중요합니다.
조직망·Zero Trust 클라이언트와 겹치면 증상이 복잡해질 수 있으나, Clash 측에서는 여전히 “어떤 SNI·어떤 도메인이 어떤 규칙에 매칭되는가”를 먼저 분리해 적는 것이 디버깅 비용을 줄입니다. 필요하면 특정 앱·프로세스만 별도 출구로 보내는 설정을 검토하되, 우선은 호스트 단위로 패턴을 잡는 편이 재현성이 높습니다.
2Clash 분류 규칙 최소 예시
아래는 설명용 illustration입니다. 실제 PROXY 자리에는 구독 프로필의 정책 그룹 이름을 넣고, 상위에 이미 GEOIP·MATCH가 있다면 위치를 조정하세요. 도메인 명명은 시기에 따라 달라질 수 있으니, 본인 로그에 맞게 줄을 추가·삭제하세요.
# Minimal illustration — replace PROXY with your policy group
rules:
- DOMAIN-SUFFIX,chat.openai.com,PROXY
- DOMAIN-SUFFIX,chatgpt.com,PROXY
- DOMAIN-SUFFIX,api.openai.com,PROXY
- DOMAIN-SUFFIX,openai.com,PROXY
- DOMAIN-SUFFIX,oaistatic.com,PROXY
- DOMAIN-SUFFIX,platform.openai.com,PROXY
- MATCH,DIRECT
RULE-SET이나 Rule Provider로 묶어 두면 엔드포인트가 늘어날 때 한 파일만 갱신하면 됩니다. 대규모 세트를 그대로 쓰면 메모리와 매칭 비용이 늘므로, OpenAI만 따로 작은 사용자 규칙 파일로 관리하는 방식도 현실적입니다. 규칙 세트 비교·선택은 ACL4SSR과 Loyalsoldier 비교 글의 기준을 참고하세요.
웹 자원과 API·콘솔을 나누고 싶을 때
동일한 상위 도메인 아래에서도 경로가 달라 호스트 단위 분리가 안 되면 프로세스별로 출구를 다르게 하기 어렵습니다. 그럴 때는 우선 한 정책 그룹으로 통일해 안정성을 확보한 뒤, 로그로 병목 호스트만 추려 내는 방식이 디버깅 비용을 줄입니다. “API만 다른 노드”를 쓰고 싶다면 DOMAIN,api.openai.com을 더 앞에 두는 식의 세밀한 우선순위가 필요합니다. 이때도 DNS가 규칙이 기대한 이름과 다르게 해석되면 매칭이 빗나가므로, 다음 단계의 DNS 점검과 함께 보세요.
3정책 그룹·노드 선택과 연결 안정성
연결 안정성은 규칙만으로 끝나지 않고 아웃바운드 품질에 크게 좌우됩니다. 지연(latency)이 낮아 보여도 패킷 손실·재전송이 많으면 스트리밍·긴 API 요청에서 체감이 크게 나빠집니다. Clash 클라이언트에서 URL 테스트·부하 테스트가 있다면 주기적으로 돌려 노드 상태를 갱신하고, fallback·url-test류 그룹으로 자동 전환을 두면 웹 버전 세션과 API 호출이 끊기는 빈도를 줄일 수 있습니다.
모든 트래픽을 GLOBAL 한 노드에 몰아넣기보다, OpenAI 관련 호스트만 프록시 그룹에 매핑하고 나머지는 국내 직결이나 기존 분할을 유지하는 편이 일상 트래픽에 미치는 부작용이 적습니다. 터미널·Electron 앱까지 동일 파이프라인에 넣으려면 Clash Verge Rev TUN 모드 가이드의 활성화 절차를 함께 보는 것이 좋습니다. 노드 로그에서 반복되는 RST·TLS 핸드셰이크 실패가 보이면 규칙 문제가 아니라 출구 품질 쪽으로 기울 가능성이 큽니다.
4DNS·FakeIP·DoH를 규칙과 맞추기
DNS가 상위 공유기·사내 리졸버를 한 번 더 거치면, FakeIP와 실제 응답이 엇갈려 규칙 매칭이 실패하는 경우가 있습니다. Meta 계열에서는 fake-ip-filter에 로컬·사내 이름을 넣고, 스니퍼(sniffer) 사용 시 도메인 복원이 기대와 다르면 DOMAIN 규칙이 빗나갈 수 있습니다. DoH·DoT로 상위까지 일관되게 맞추면 오탐·오매칭이 줄어드는 경우가 많습니다. 구체적인 점검 표와 설정 패턴은 Meta 코어 DNS 유출 방지 가이드에 정리되어 있으니, “규칙은 맞는데 안 된다”면 그 문서의 체크리스트를 먼저 적용해 보세요.
요약: 분류 규칙은 클라이언트가 본 도메인과 DNS 경로가 같을 때 가장 잘 맞습니다. FakeIP·스니퍼·업스트림 DNS를 한 번에 바꾸지 말고 한 층씩 검증하세요.
5Claude·Gemini·Sora 글과의 역할 분담
Claude·Anthropic 글·Gemini·Google AI 글은 같은 방법론으로 호스트 수집·규칙·DNS 정합성을 반복합니다. 본문은 ChatGPT·OpenAI API의 공개 호스트 명명을 전제로 동일 프레임을 적용할 뿐입니다. OpenAI 브랜드 안에서도 영상 생성·미디어 축은 Sora·영상 접속 글이 다루는 편이 자연스럽고, 여기서는 대화 제품과 API에 초점을 둡니다. 전체 옵션 지도가 필요하면 문서·설정 허브의 목차를 참고하세요.
6검증: 규칙 적중 → DNS → 노드 로그
변경 후에는 한 번에 한 변수만 바꿉니다. 먼저 Clash 연결 로그에서 문제가 된 호스트가 어떤 정책 그룹·어떤 규칙 줄에 매칭됐는지 확인합니다. 그다음 같은 호스트에 대해 DNS 응답이 기대와 일치하는지(실 IP vs FakeIP, 리졸버 경로)를 점검합니다. 마지막으로 curl -I https://api.openai.com 등으로 TLS까지 시간을 재 보고, 다른 노드·다른 회선과 대조해 “규칙 문제인지 품질 문제인지”를 가릅니다. 시스템 프록시만 켠 상태와 TUN을 켠 상태를 번갈아 비교하면 “앱이 프록시를 모른다”는 가설을 빠르게 확인할 수 있습니다.
API 키·세션 토큰이 들어가는 요청은 로그·캡처에 남기지 않도록 주의하고, 실패 시 HTTP 상태 코드와 TLS 오류 메시지를 구분해 기록하면 원인 추적이 빨라집니다. 브라우저에서만 재현되면 확장 프로그램·광고 차단기가 특정 스크립트 도메인을 막고 있지 않은지도 함께 확인하세요.
준수: 소속 기관·국가의 네트워크·데이터 규정을 준수하세요. API 키·로그는 외부에 노출하지 말고, 엔드포인트 예시는 공개 문서를 기준으로 하되 변경 가능성을 염두에 두세요.
마치며
ChatGPT에 대한 관심이 클수록, 체감 품질은 모델뿐 아니라 네트워크 경로에도 좌우됩니다. 웹 버전과 API·로그인·정적 자원이 서로 다른 호스트·TLS 세션을 쓰는 이상, Clash의 분류 규칙과 DNS·FakeIP·필요 시 DoH를 같은 그림으로 맞추는 작업이 반복됩니다. 관측 가능한 호스트 목록과 최소 규칙 세트, 그리고 규칙 적중 → DNS → 노드 로그 순의 검증 루틴만 갖추어도 “간헐적 타임아웃” 대응 시간은 크게 줄어듭니다.
클라이언트 설치 패키지는 저장소 릴리스 직링크보다 사이트 다운로드 허브를 기준으로 잡는 편이 플랫폼별 혼선이 적습니다. 오픈소스 본문·이슈는 GitHub를 참고하되, 아래 링크에서 동일한 Meta 계열 경험을 시작해 보세요.
→ Clash를 무료로 다운로드하고, ChatGPT·OpenAI API·기타 서비스 접속을 한 프로필로 정리해 보세요