블로그로 돌아가기

PyCharm, IntelliJ IDEA 및 WebStorm에서 프록시 설정하기: 개발자를 위한 완벽 가이드

JetBrains IDE인 PyCharm, IntelliJ IDEA, WebStorm 등에서 프록시 설정을 위한 자세한 가이드. 차단을 우회하고, 플러그인을 설치하며, 제한 없이 의존성을 다운로드하세요.

📅2026년 7월 21일
```html

JetBrains IDE에서 플러그인이 설치되지 않거나 Maven 또는 pip가 종속성을 다운로드할 수 없으며 Marketplace가 열리지 않는 경우 — 네트워크 제한이 문제일 가능성이 높습니다. 프록시는 몇 분 안에 이를 해결합니다. 이 기사에서는 PyCharm, IntelliJ IDEA, WebStorm, GoLand 및 기타 JetBrains 제품을 위한 설정 방법을 IDE의 내장 인터페이스, 시스템 변수 및 구성 파일을 통해 모두 살펴보겠습니다.

IDE에서 개발자를 위한 프록시의 필요성

JetBrains IDE는 네트워크에 적극적으로 접근합니다: Marketplace에서 플러그인을 다운로드하고, 인덱스를 업데이트하며, Maven Central, PyPI, npm 및 기타 리포지토리를 통해 종속성을 가져오고, 라이센스를 확인하며, JetBrains 계정을 통해 설정을 동기화합니다. 이러한 요청 중 하나라도 차단되면 작업이 느려지거나 중단됩니다.

프록시가 없으면 다음과 같은 특정 상황에서 문제가 발생할 수 있습니다:

  • 방화벽이 있는 기업 네트워크. 많은 기업이 외부 트래픽을 기업 프록시 서버를 통해서만 허용합니다. IDE에서 프록시 설정이 없으면 플러그인이 설치되지 않고 종속성이 다운로드되지 않습니다.
  • 지리적 차단. 일부 리포지토리 및 CDN은 지리적으로 제한됩니다. 필요한 위치의 프록시는 이러한 제한을 우회합니다.
  • 제한된 인터넷을 가진 국가에서 작업. JetBrains Marketplace, GitHub Packages, Maven Central에 직접 접근할 수 없을 수 있습니다.
  • 네트워크 애플리케이션 개발 및 테스트. 특정 노드를 통해 IDE의 트래픽을 유도해야 하며, 이를 통해 다른 지역에서 애플리케이션의 동작을 확인할 수 있습니다.
  • 공용 네트워크에서의 보안. 카페나 코워킹 스페이스에서 작업할 때 프록시는 IDE의 트래픽을 암호화하고 토큰 및 키를 가로채는 것으로부터 보호합니다.
  • 제재 제한 우회. 2022년 이후 일부 외부 리포지토리 및 서비스가 IP에 대한 제한을 도입했습니다 — 프록시는 도구를 변경하지 않고 작업을 계속할 수 있게 해줍니다.

브라우저와 달리 프록시는 한 번 설정하면 전역적으로 작동하지만, JetBrains IDE에서는 프록시를 별도로 설정해야 하며, 때로는 여러 곳에서 설정해야 합니다: IDE 자체, 종속성 관리자 및 언어 인터프리터에서. 각 레벨을 순서대로 살펴보겠습니다.

JetBrains에 적합한 프록시 유형 선택하기

JetBrains IDE는 HTTP, HTTPS 및 SOCKS5의 세 가지 유형의 프록시를 지원합니다. 대부분의 개발자 작업에는 HTTP/HTTPS 프록시가 적합하며, 이는 IDE, Maven, Gradle 및 pip의 모든 요청과 투명하게 작동합니다. SOCKS5는 더 많은 유연성을 제공하며 TCP 레벨에서 작동하므로 비표준 프로토콜에 유용합니다.

프록시 유형 IDE에서의 지원 적합한 용도 특징
HTTP/HTTPS ✅ 기본 지원 플러그인, 종속성, 라이센스 가장 쉽게 설정 가능
SOCKS5 ✅ 기본 지원 모든 TCP 연결 인증 지원
PAC 파일 ✅ 시스템 설정을 통해 기업 네트워크 유연한 라우팅
시스템 프록시 ✅ 자동 감지 OS에서 이미 설정된 경우 추가 설정 필요 없음

기업 프록시를 사용하고 있다면 — 아마도 로그인 및 비밀번호 인증이 있는 HTTP/HTTPS일 것입니다. 차단 우회를 위한 외부 프록시 서비스를 연결하는 경우 데이터 센터 프록시에 주목하세요 — 이들은 높은 속도와 안정성을 제공하여 대규모 종속성과 인덱스를 다운로드할 때 중요합니다.

IDE 인터페이스를 통한 프록시 설정 (HTTP/HTTPS)

가장 간단하고 권장되는 방법입니다. 이 설정은 IDE의 모든 네트워크 요청에 적용됩니다: Marketplace, 업데이트, 라이센스 확인, 플러그인 동기화. 이 지침은 PyCharm, IntelliJ IDEA, WebStorm, GoLand, Rider, CLion 및 기타 제품에 동일하게 적용됩니다.

1단계. IDE 설정 열기

Windows 및 Linux: File → Settings (또는 Ctrl+Alt+S).
macOS: PyCharm → Preferences (또는 Cmd+,).

2단계. 프록시 섹션 찾기

왼쪽 패널의 설정에서 다음 경로로 이동합니다: Appearance & Behavior → System Settings → HTTP Proxy. 또는 설정 검색창에 proxy라는 단어를 입력하기 시작하면 IDE가 즉시 필요한 섹션을 보여줍니다.

3단계. 프록시 유형 선택 및 데이터 입력

HTTP Proxy 섹션에서 세 가지 옵션을 볼 수 있습니다:

  • No proxy — 직접 연결 (기본값).
  • Auto-detect proxy settings — IDE가 운영 체제의 설정을 가져옵니다.
  • Manual proxy configuration — 수동 설정. 이 옵션을 선택하세요.

Manual proxy configuration을 선택하면 다음 필드를 입력합니다:

  • Host name — 프록시 서버의 IP 주소 또는 도메인. 예: proxy.example.com 또는 192.168.1.100.
  • Port number — 프록시 포트. 기본값: 8080, 3128, 8888.
  • No proxy for — 직접 연결해야 하는 호스트 (프록시 없이). 일반적으로 localhost, 127.0.0.1, 회사의 내부 도메인을 추가합니다.
  • Proxy authentication — 프록시가 로그인 및 비밀번호를 요구하는 경우 체크하고 자격 증명을 입력합니다.

4단계. 연결 확인

Check connection 버튼을 클릭하고 임의의 URL을 입력합니다 — 예를 들어, https://plugins.jetbrains.com. 모든 설정이 올바르면 IDE가 Connection successful 상태를 표시합니다. 이후 OK를 클릭하고 IDE를 재시작합니다.

💡 팁

JetBrains IDE의 HTTP Proxy 설정은 전역적으로 저장됩니다 — 모든 프로젝트에 적용되며 재시작 간에도 유지됩니다. 다양한 작업을 위해 프록시를 전환해야 하는 경우, 아래 설명된 환경 변수를 사용하는 것이 더 편리합니다.

JetBrains IDE에서 SOCKS5 프록시 설정하기

SOCKS5는 HTTP/HTTPS뿐만 아니라 모든 TCP 연결과 함께 작동하는 더 유연한 프로토콜입니다. 이는 프록시 제공자가 SOCKS5를 제공하거나 SSH 터널을 사용하는 경우 유용합니다.

JetBrains IDE의 SOCKS 섹션은 동일한 위치에 있습니다: Appearance & Behavior → System Settings → HTTP Proxy. Manual proxy configuration 블록에서 라디오 버튼을 HTTP에서 SOCKS로 전환합니다.

HTTP 프록시와 유사하게 필드를 입력합니다:

  • Host name — SOCKS5 서버의 주소.
  • Port number — 포트 (일반적으로 1080 또는 1081).
  • Proxy authentication — 필요한 경우 로그인 및 비밀번호.

중요한 점: JetBrains IDE의 내장 SOCKS 클라이언트는 JVM 레벨에서 작동하며 IDE가 Java를 통해 직접 설정하는 연결만 가로챕니다. 외부 프로세스인 Maven Wrapper, Gradle Daemon, pip, npm은 별도의 프로세스로 실행되며 프록시 설정을 상속받지 않습니다. 이들은 별도의 설정이 필요합니다 (아래 섹션 참조).

JVM 매개변수를 통한 설정

인터페이스를 통한 설정이 작동하지 않는 경우 (예: 일부 IDE 버전이나 비표준 플러그인 사용 시), JVM 매개변수를 통해 프록시를 직접 설정할 수 있습니다. 이는 모든 JVM 연결에 보장되며 신뢰할 수 있는 저수준 방법입니다.

vmoptions 파일 열기

IDE 메뉴에서 다음으로 이동합니다: Help → Edit Custom VM Options.... 사용자 설정 디렉토리에서 pycharm64.vmoptions (또는 IntelliJ IDEA의 경우 idea64.vmoptions) 파일이 열립니다.

HTTP 프록시를 위해 파일 끝에 다음 줄을 추가합니다:

-Dhttp.proxyHost=your.proxy.host
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=your.proxy.host
-Dhttps.proxyPort=8080
-Dhttp.proxyUser=username
-Dhttp.proxyPassword=password
-Dhttps.proxyUser=username
-Dhttps.proxyPassword=password
-Dhttp.nonProxyHosts=localhost|127.0.0.1|*.local

SOCKS5 프록시의 경우 다른 매개변수를 사용하세요:

-DsocksProxyHost=your.socks.host
-DsocksProxyPort=1080
-DsocksProxyVersion=5

파일을 저장한 후 IDE를 재시작하세요. 이 매개변수는 인덱스 다운로드, 플러그인 작업 및 내장 Git 클라이언트를 포함한 모든 JVM 연결에 적용됩니다.

⚠️ 중요

비밀번호에 특수 문자가 포함된 경우 (@, #, %) URL 인코딩으로 이스케이프해야 합니다. 예를 들어, @%40. 그렇지 않으면 JVM이 매개변수를 잘못 파싱하여 프록시가 작동하지 않습니다.

환경 변수로 프록시 설정하기

이 방법은 Linux 및 macOS에서 특히 편리하며 CI/CD 환경에서도 유용합니다. 환경 변수는 JVM뿐만 아니라 자식 프로세스에도 상속되므로 Maven, Gradle, pip, npm도 자동으로 이를 인식합니다.

HTTP 프록시에 대한 표준 변수:

export HTTP_PROXY=http://username:[email protected]:8080
export HTTPS_PROXY=http://username:[email protected]:8080
export NO_PROXY=localhost,127.0.0.1,::1

이 줄을 ~/.bashrc, ~/.zshrc 또는 ~/.profile에 추가하세요. 그런 다음 터미널을 재시작하고 IDE를 실행하면 환경 변수를 인식합니다.

Windows에서는 시스템 인터페이스를 통해 변수를 설정합니다:

  1. 제어판 → 시스템 → 고급 시스템 설정 → 환경 변수를 엽니다.
  2. 사용자 변수 블록에서 새로 만들기를 클릭합니다.
  3. HTTP_PROXYHTTPS_PROXY 변수를 http://username:[email protected]:8080 값으로 추가합니다.
  4. IDE를 재시작합니다.

주의: Windows에서 JetBrains IDE는 런처를 통해 별도의 프로세스로 실행되며, 현재 터미널 세션에서 설정된 환경 변수가 IDE로 전달되지 않을 수 있습니다. 시스템 인터페이스를 통해 설정하거나 vmoptions 파일을 통해 설정하는 것이 더 안전합니다.

IntelliJ IDEA 내 Maven 및 Gradle을 위한 프록시 설정하기

Maven과 Gradle은 각각의 구성 파일을 가진 별도의 도구입니다. IDE 인터페이스에서 프록시가 설정되어 있어도 Maven Wrapper 및 Gradle Daemon은 이러한 설정을 무시할 수 있습니다. 왜냐하면 이들은 독립적인 JVM 프로세스로 실행되기 때문입니다.

Maven을 위한 프록시

~/.m2/settings.xml 파일을 열고 (존재하지 않으면 생성) <proxies> 섹션을 추가합니다:

<settings>
  <proxies>
    <proxy>
      <id>main-proxy</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>proxy.example.com</host>
      <port>8080</port>
      <username>your_username</username>
      <password>your_password</password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

HTTP와 HTTPS에 대해 별도로 프록시를 설정해야 하는 경우, 서로 다른 <proxy> 블록을 추가합니다.

Gradle을 위한 프록시

Gradle의 경우 프록시 설정은 ~/.gradle/gradle.properties 파일(전역) 또는 프로젝트 루트의 gradle.properties 파일(특정 프로젝트)에 설정됩니다:

systemProp.http.proxyHost=proxy.example.com
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=your_username
systemProp.http.proxyPassword=your_password
systemProp.http.nonProxyHosts=localhost|127.0.0.1

systemProp.https.proxyHost=proxy.example.com
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=your_username
systemProp.https.proxyPassword=your_password

파일을 저장한 후 IntelliJ IDEA는 다음 Gradle 프로젝트 동기화 시 새로운 설정을 자동으로 인식합니다. Reload All Gradle Projects 버튼을 클릭하세요 (Gradle 패널 오른쪽의 새로 고침 아이콘) — 그러면 종속성이 프록시를 통해 다운로드되기 시작합니다.

PyCharm에서 pip 및 conda를 위한 프록시 설정하기

PyCharm은 Python 개발자를 위한 주요 IDE입니다. pip 및 conda를 통한 패키지 설치는 별도의 프로세스를 통해 이루어지며, 이들은 PyCharm 인터페이스의 프록시 설정을 읽지 않습니다. 각 패키지 관리자에 대한 프록시 설정 방법은 다음과 같습니다.

pip을 위한 프록시

방법 1 — 패키지 설치 시 명령줄 인수를 통해:

pip install requests --proxy http://username:[email protected]:8080

방법 2 — pip 구성 파일을 통해 (지속적으로 적용됨). 파일을 열거나 생성합니다:

  • Linux/macOS: ~/.config/pip/pip.conf
  • Windows: %APPDATA%\pip\pip.ini
[global]
proxy = http://username:[email protected]:8080

방법 3 — 환경 변수를 통해 (pip 및 기타 Python 도구에 모두 적용됨):

export HTTP_PROXY=http://username:[email protected]:8080
export HTTPS_PROXY=http://username:[email protected]:8080

conda를 위한 프록시

Conda는 자체 구성 파일 .condarc를 사용합니다. 홈 디렉토리에서 열고 다음을 추가합니다:

proxy_servers:
  http: http://username:[email protected]:8080
  https: http://username:[email protected]:8080

또는 PyCharm 터미널에서 다음 명령을 실행합니다:

conda config --set proxy_servers.http http://proxy.host:8080
conda config --set proxy_servers.https http://proxy.host:8080

PyPI 미러(예: Yandex 미러 또는 기업 Nexus)와 작업하는 경우, 프록시 대신 pip를 대체 인덱스로 전환할 수 있습니다. 그러나 미러도 접근할 수 없는 경우 — 프록시가 유일한 해결책이 됩니다. PyPI와 안정적으로 작업하기 위해서는 주거용 프록시가 적합합니다 — 이들은 일반 사용자 요청처럼 보이며 PyPI의 CDN 제공자에 의해 차단되지 않습니다.

자주 발생하는 문제 및 해결 방법

올바르게 설정했더라도 때때로 문제가 발생할 수 있습니다. 가장 일반적인 문제와 해결 방법을 살펴보겠습니다.

문제 1: "Connection refused" 또는 "Unable to connect to proxy"

원인: 잘못된 호스트, 포트 또는 프록시가 접근 불가능합니다.
해결 방법: 프록시의 주소와 포트를 확인하세요. 터미널에서 curl을 통해 프록시에 연결해 보세요:

curl -x http://proxy.host:8080 https://plugins.jetbrains.com

curl도 연결되지 않는 경우 — 문제는 IDE 설정이 아니라 프록시에 있습니다.

문제 2: 프록시가 설정되었지만 플러그인이 여전히 설치되지 않음

원인: IDE가 이전 설정을 캐시했거나 설정이 모든 구성 요소에 적용되지 않았습니다.
해결 방법:

  1. IDE를 완전히 종료하세요 (프로세스가 백그라운드에서 실행되지 않는지 확인).
  2. 캐시를 지웁니다: File → Invalidate Caches → Invalidate and Restart.
  3. 파일 vmoptions에 충돌하는 매개변수가 없는지 확인하세요.

문제 3: 프록시를 통한 SSL/TLS 오류

원인: 기업 프록시가 SSL 검사를 수행하고 (MITM) 인증서를 변경합니다. JVM은 변경된 인증서를 신뢰하지 않습니다.
해결 방법: 시스템 관리자에게 기업 CA의 루트 인증서를 요청하고 Java KeyStore에 가져옵니다:

keytool -import -alias corporate-ca -keystore $JAVA_HOME/lib/security/cacerts \
  -file corporate-ca.crt -storepass changeit

JetBrains IDE에는 내장 도구가 있습니다: Settings → Tools → Server Certificates — 여기에서 GUI를 통해 신뢰할 수 있는 인증서를 추가할 수 있습니다.

문제 4: 인증이 있는 프록시가 비밀번호를 수용하지 않음

원인: 비밀번호의 특수 문자가 이스케이프되지 않았거나 프록시가 NTLM/Kerberos 인증을 사용합니다 (Microsoft 기업 프록시).
해결 방법: NTLM 프록시의 경우 JVM이 기본적으로 지원하지만 추가 매개변수를 설정해야 합니다:

-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.http.auth.proxying.disabledSchemes=""

문제 5: IDE 내 Git이 프록시를 통해 작동하지 않음

원인: JetBrains의 내장 Git 클라이언트는 시스템 Git을 사용하며, JVM 연결이 아닙니다. IDE의 프록시 설정이 그에 영향을 미치지 않습니다.
해결 방법: Git에서 프록시를 직접 설정하세요:

git config --global http.proxy http://username:[email protected]:8080
git config --global https.proxy http://username:[email protected]:8080
증상 가능한 원인 수정 방법
플러그인이 설치되지 않음 IDE에 프록시가 설정되지 않음 Settings → HTTP Proxy
Maven이 종속성을 다운로드하지 않음 settings.xml에 설정이 없음 ~/.m2/settings.xml → proxies
pip이 패키지를 설치하지 않음 pip이 IDE 설정을 읽지 않음 pip.conf 또는 ENV 변수
SSL 오류 프록시에서 MITM 검사 수행 기업 인증서 가져오기
Git이 프록시를 통해 작동하지 않음 Git이 JVM 설정을 읽지 않음 git config --global http.proxy
Gradle이 동기화되지 않음 gradle.properties에 설정이 없음 ~/.gradle/gradle.properties

결론

JetBrains IDE에서 프록시를 설정하는 것은 단순한 버튼 클릭이 아니라 여러 수준의 구성이 필요합니다. 기억해야 할 가장 중요한 점은: IDE 자체 (플러그인, 라이센스, Marketplace)는 Settings → HTTP Proxy 또는 vmoptions의 JVM 매개변수를 통해 설정됩니다. 종속성 관리자 — Maven, Gradle, pip, conda —는 각자의 구성 파일에서 별도의 설정이 필요합니다. IDE 내 Git은 전역 git config를 통해 설정됩니다.

지리적 차단이나 기업 네트워크의 제한을 우회하기 위해 프록시를 사용하는 경우, 안정적이고 빠른 프록시 서버를 선택하는 것이 중요합니다. 리포지토리, Marketplace 및 종속성 다운로드 작업에는 데이터 센터 프록시가 적합합니다 — 이들은 높은 속도와 최소한의 지연을 제공하여 수백 개의 종속성을 가진 대규모 프로젝트를 동기화할 때 중요합니다. 서버 IP를 차단하는 서비스와의 최대 호환성이 필요한 경우, 주거용 프록시를 고려하세요 — 이들은 실제 사용자 주소를 사용하며 CDN 및 리포지토리의 보호 시스템에서 거의 의심을 받지 않습니다.

```