b11699 릴리스: HTTP_PROXY/HTTPS_PROXY 환경 변수 지원 및 프록시 처리 개선
요약
llama.cpp의 HTTP 클라이언트가 표준 환경 변수(HTTP_PROXY/HTTPS_PROXY)를 인식하도록 개선되었습니다. 이를 통해 기업 네트워크나 에어 갭 인프라 등 프록시 설정이 필요한 환경에서도 안정적인 다운로드가 가능해졌습니다. 또한, NO_PROXY 지원 및 루프백 목적지 우회 기능도 추가되어 사용성이 크게 향상되었습니다.
핵심 포인트
- HTTP/HTTPS_PROXY 환경 변수 자동 인식 지원
- 기업 네트워크 등 프록시 환경에서 안정적 작동
- NO_PROXY 지원 및 루프백 대상 예외 처리 개선
- common: http 클라이언트에서 HTTP_PROXY/HTTPS_PROXY 환경 변수 인식
common_http_client()는 표준 프록시 환경 변수를 무시하여, HTTP 프록시가 설정된 환경(기업 네트워크, 에어 갭 인프라 등)에서 -hf 및 유사 플래그를 통한 다운로드가 조용히 실패하는 문제가 있었습니다.
HTTPS_PROXY/https_proxy는 https:// URL에 대해, 그리고 HTTP_PROXY/http_proxy는 http:// URL에 대해 순서대로 확인합니다. 프록시 URL이 설정되어 있고 파싱 가능하다면, 적절하게 httplib의 set_proxy() 및 set_proxy_basic_auth()로 전달합니다. 잘못된 형식의 프록시 URL은 조용히 무시되므로 기존 호출자에게 영향을 주지 않습니다.
Fixes #21694
- common: 일반적인 프록시 폴백에 대한 오해의 소지가 있는 주석 제거
이 주석은 코드에 존재하지 않는 '일반적인 것'을 참조했습니다. HTTP_PROXY와 HTTPS_PROXY 모두 스킴(scheme)별로 특정적입니다. 리뷰어가 불일치점을 지적했습니다.
@ServeurpersoCom의 리뷰 피드백을 반영합니다.
-
common : 환경에서 가져온 프록시 URL이 잘못된 경우 경고 메시지 추가
-
common : http 프록시를 선택할 때 NO_PROXY 인식
-
ci : 검사 재실행 (test-thread-safety flake)
-
common : 루프백 목적지에 대한 프록시 우회 기능 추가
llama cli는 spawned된 서버와 127.0.0.1을 통해 common_http_client를 사용합니다. 따라서 HTTP_PROXY가 설정되고 NO_PROXY가 없을 경우, 상태 폴링이 기업 프록시로 전송되었고, 이 프록시는 루프백 대상을 거부하여 대기 루프가 영원히 종료되지 않는(
검토 의견:
최상위 README는 간결하게 유지하며, 프록시 사용 방법(proxy howto)은 이제 '사용법(Usage)' 아래 서버 문서에 위치합니다.
서명자: texasich [email protected]
서명자: texasich [email protected]
공동 작성자: texasich [email protected]
공동 작성자: texasich [email protected]
공동 작성자: marecabo [email protected]
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기