사내에 프록시 설정이 많아서 정리해보았습니다. 계속 추가할 예정입니다.

Debian Linux (ubuntu, …)

Proxy

/env/environment 파일에 다음을 추가해줍니다.

http_proxy="http://corp.proxy:port/"
https_proxy="http://corp.proxy:port/"
no_proxy="localhost,127.0.0.1"

Root certificate

sudo mkdir /usr/share/ca-certificates/extra
sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
sudo dpkg-reconfigure ca-certificates

Java

Proxy

/env/environment 파일에 다음을 추가해줍니다.

JAVA_OPTS="-Dhttp.proxyHost=corp.proxy -Dhttp.proxyPort=port -Dhttp.nonProxyHosts=127.0.0.1|localhost-Dhttps.proxyHost=corp.proxy -Dhttps.proxyPort=port -Dhttps.nonProxyHosts=127.0.0.1|localhost"

Root certificate

JVM은 $JAVA_HOME/jre/lib/security/cacerts 파일에 루트 인증서를 등록해야 합니다.

keytool -import -alias ALIAS_NAME -keystore CACERTS_FILE -trustcacerts -storepass changeit -noprompt -file CRT_FILE

적절한 ALIAS_NAME, cacerts 파일 위치, 사내 인증서 파일 위치 등을 지정해야 합니다.

JetBrain 계열의 IDE를 사용하면 내장 jre를 가지게 됩니다. 따라서 파일 시스템 내 전체 cacerts를 찾아서 일괄로 등록하려면 다음과 같이 하면 유용합니다.

sudo find / -name cacerts -exec keytool -import -alias ALIAS_NAME -keystore {} -trustcacerts -storepass changeit -noprompt -file CRT_FILE \;

Python / pip

Proxy

전역 변수 선언으로 적용됩니다.

Root certificate

Add the following into ~/.pip/pip.conf

[global]
cert = /usr/share/ca-certificates/extra/foo.crt

Composer

PHP 의존 관리자

Proxy

전역 변수 선언으로 적용됩니다.

Root certificate

재미있게도 다음과 같이 설정해야 TLS 설정을 해제하여 의존 패키지 설치가 가능합니다.

export http_proxy="http://corp.proxy:port"
export HTTP_PROXY="http://corp.proxy:port"
export https_proxy=
export HTTPS_PROXY=

Reference