개발 환경에서는 '브라우저는 연결됐지만 코드는 계속 실패하는' 착각이 가장 쉽게 발생합니다. 일반적인 원인은 프록시 적용 범위가 서로 다르기 때문입니다. 브라우저 확장 프로그램은 브라우저 요청만 관리하고, 시스템 프록시가 컨테이너에 전달되지 않을 수 있으며, IDE 플러그인이 독립적인 네트워크 스택을 사용할 수도 있습니다. 올바른 방법은 웹페이지가 열리는지로 추측하는 것이 아니라 요청을 시작한 프로세스에서 바깥쪽으로 추적하는 것입니다.
명령줄과 로컬 런타임
먼저 터미널 프로세스가 읽는 환경 변수를 확인한 다음 사용 중인 SDK가 시스템 프록시를 따르는지 점검하세요. 일부 런타임은 연결 풀, 인증서와 도메인 확인을 자체적으로 처리하므로 환경 변수가 존재한다고 해서 요청이 예상한 회선을 사용한다는 뜻은 아닙니다. 테스트할 때는 실제 인증 정보가 포함되지 않은 최소 요청을 사용하고, 오류 유형을 통해 문제가 확인, 핸드셰이크, 인증 또는 응답 수신 중 어디에서 발생했는지 판단하세요.
HTTPS_PROXY=http://localhost:PORT
AI_API_KEY=YOUR_API_KEY
run-your-command
IDE 플러그인과 편집기 내 터미널
편집기 메인 프로세스, 플러그인 호스트와 내장 터미널은 서로 다른 환경을 가질 수 있습니다. 프록시를 변경한 후에는 관련 프로세스를 다시 시작하고 플러그인 로그를 다시 확인하세요. 코드 자동 완성은 되지만 채팅이 되지 않는다면 기능별로 접근하는 API가 다를 수 있습니다. 모든 요청이 실패한다면 편집기 수준의 프록시, 인증서와 네트워크 권한부터 점검하세요.
CI와 자동화 작업
CI 러너는 개발 컴퓨터의 네트워크 환경을 대개 상속하지 않습니다. 러너 측에서 외부 연결 경로를 명시적으로 설정하고, 비밀 정보는 프로젝트에서 제공하는 비밀 변수 기능에 저장하세요. 로그에 전체 요청 헤더, 구독 정보나 액세스 인증 정보를 출력하지 마세요. 작업에 재시도 기능이 있다면 네트워크 실패와 플랫폼이 반환한 업무 오류를 구분해 잘못된 요청을 반복하지 않도록 하세요.