이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

Visual Studio Code의 네트워크 연결

Visual Studio Code는 Electron 기반으로 구축되었으며 Chromium의 모든 네트워킹 스택 기능을 활용합니다. 이는 VS Code 사용자가 Google Chrome에서 사용 가능한 네트워킹 지원 기능을 상당 부분 이용할 수 있다는 의미이기도 합니다.

일반적인 호스트 이름

VS Code의 일부 기능(예: 자동 업데이트 메커니즘, 확장 프로그램 쿼리 및 설치, 원격 분석)은 네트워크 통신이 필요합니다. 이러한 기능이 프록시 환경에서 올바르게 작동하려면 제품이 올바르게 구성되어야 합니다.

VS Code에서 사용하는 특정 도메인을 허용해야 하는 방화벽 뒤에 있다면, 통신을 허용해야 하는 호스트 이름 목록은 다음과 같습니다.

  • update.code.visualstudio.com - Visual Studio Code 다운로드 및 업데이트 서버
  • code.visualstudio.com - Visual Studio Code 문서
  • go.microsoft.com - Microsoft 링크 전달 서비스
  • marketplace.visualstudio.com - Visual Studio Marketplace
  • *.gallery.vsassets.io - Visual Studio Marketplace
  • *.gallerycdn.vsassets.io - Visual Studio Marketplace
  • rink.hockeyapp.net - 충돌 보고 서비스
  • bingsettingssearch.trafficmanager.net - 제품 내 설정 검색
  • vscode.search.windows.net - 제품 내 설정 검색
  • raw.githubusercontent.com - GitHub 리포지토리 원시 파일 액세스
  • vsmarketplacebadges.dev - Visual Studio Marketplace 배지 서비스
  • *.vscode-cdn.net - Visual Studio Code CDN
  • vscode.download.prss.microsoft.com - Visual Studio Code 다운로드 CDN
  • download.visualstudio.microsoft.com - Visual Studio 다운로드 서버, 일부 VS Code 확장 프로그램(C++, C#)에 대한 종속성을 제공합니다.
  • vscode-sync.trafficmanager.net - Visual Studio Code 설정 동기화 서비스
  • vscode-sync-insiders.trafficmanager.net - Visual Studio Code 설정 동기화 서비스(Insider)
  • vscode.dev - 확장 프로그램 또는 설정 동기화를 위해 GitHub 또는 Microsoft로 로그인할 때 대체로 사용됩니다(vscode.dev/redirect만 해당).
  • *.vscode-unpkg.net - 웹 확장 프로그램을 로드할 때 사용됩니다.
  • default.exp-tas.com - Visual Studio Code 실험 서비스, 실험적인 사용자 경험을 제공하는 데 사용됩니다.

프록시 서버 지원

VS Code는 Google Chromium과 동일한 프록시 서버 지원을 제공합니다. 다음은 Chromium 문서의 발췌 내용입니다.

"The Chromium network stack uses the system network settings so that users and administrators can control the network settings of all applications easily. The network settings include:

 - proxy settings
 - SSL/TLS settings
 - certificate revocation check settings
 - certificate and private key stores"

이는 프록시 설정이 자동으로 적용되어야 함을 의미합니다.

그렇지 않은 경우 다음 명령줄 인수를 사용하여 프록시 설정을 제어할 수 있습니다.

# Disable proxy
--no-proxy-server

# Manual proxy address
--proxy-server=<scheme>=<uri>[:<port>][;...] | <uri>[:<port>] | "direct://"

# Manual PAC address
--proxy-pac-url=<pac-file-url>

# Disable proxy per host
--proxy-bypass-list=(<trailing_domain>|<ip-address>)[:<port>][;...]

이러한 명령줄 인수에 대한 자세한 내용은 Chromium 네트워크 설정을 참조하세요.

인증 프록시

인증 프록시는 PR #22369의 추가로 VS Code 내에서 원활하게 작동해야 합니다.

지원되는 인증 방법은 다음과 같습니다.

  • 기본
  • 다이제스트
  • NTLM
  • 협상

인증 HTTP 프록시 뒤에서 VS Code를 사용할 때 다음과 같은 인증 팝업이 표시되어야 합니다.

proxy

참고: SOCKS5 프록시 인증 지원은 아직 구현되지 않았습니다. Chromium 이슈 추적기의 이슈를 따라 진행 상황을 확인할 수 있습니다.

VS Code 내 HTTP 프록시 인증에 대해 자세히 알아보려면 Chromium HTTP 인증을 참조하세요.

SSL 인증서

HTTPS 프록시는 종종 들어오는 요청의 SSL 인증서를 다시 작성합니다. Chromium은 신뢰하지 않는 인증서로 서명된 응답을 거부하도록 설계되었습니다. SSL 신뢰 문제가 발생하는 경우 몇 가지 옵션을 사용할 수 있습니다.

  • Chromium은 OS의 인증서 신뢰 인프라를 사용하므로, 선호되는 옵션은 프록시의 인증서를 OS의 신뢰 체인에 추가하는 것입니다. 자세한 내용은 Chromium 루트 인증서 정책 문서를 참조하세요.
  • 프록시가 localhost에서 실행되는 경우, 항상 --allow-insecure-localhost 명령줄 플래그를 사용해 볼 수 있습니다.
  • 다른 모든 방법이 실패하면 --ignore-certificate-errors 명령줄 플래그를 사용하여 VS Code가 모든 인증서 오류를 무시하도록 할 수 있습니다. **경고:** 이 방법은 **위험**하며 **권장되지 않습니다**. 보안 문제가 발생할 수 있습니다.

**Linux 사용자 참고:** Linux에서 프록시 인증서를 추가하려면 시스템 신뢰 저장소와 NSS 신뢰 저장소에 추가해야 합니다. 정확한 단계는 배포판마다 다릅니다.

  • Ubuntu/Debian: 인증서를 /usr/local/share/ca-certificates/에 복사하고 sudo update-ca-certificates를 실행합니다.
  • RHEL/CentOS/Fedora: sudo trust anchor --store <certificate-file>를 사용하거나 /etc/pki/ca-trust/source/anchors/에 배치하고 sudo update-ca-trust를 실행합니다.
  • 추가로, certutil -A -n "ProxyCA" -t "CT,," -i <certificate-file> -d sql:$HOME/.pki/nssdb를 사용하여 NSS 신뢰 저장소에 추가합니다.

기존 프록시 서버 지원

확장 프로그램은 아직 VS Code에서 지원하는 것과 동일한 프록시 지원의 이점을 누리지 못하고 있습니다. 이 문제의 개발 상황은 GitHub에서 확인할 수 있습니다.

확장 프로그램과 마찬가지로, CLI 인터페이스와 같은 몇 가지 다른 VS Code 기능도 아직 프록시 네트워킹을 완전히 지원하지 않습니다. CLI 인터페이스는 명령 프롬프트 또는 터미널에서 code --install-extension vscodevim.vim을 실행할 때 얻는 것입니다. 이 문제의 개발 상황은 GitHub에서 확인할 수 있습니다.

이 두 가지 제약 사항으로 인해 http.proxy, http.proxyStrictSSLhttp.proxyAuthorization 변수는 여전히 VS Code 설정에 포함되어 있지만, 이 두 가지 시나리오에서만 존중됩니다.

문제 해결

VS Code에서 네트워크 문제를 해결하는 데 도움이 될 수 있는 유용한 링크는 다음과 같습니다.

© . This site is unofficial and not affiliated with Microsoft.