각 프로그램별 정리를 해 보았습니다.
SERVER 는 프록시 서버 + 포트
CERT 는 인증서 명을 뜻합니다.
strict ssl false 어쩌고 하는 옵션은 모두 인증서 검사를 안하겠다는 것이며,
MITM 의 위험을 감수한다는 뜻입니다. (어차피 프록시 서버에서 MITM 할거지만..)
기본적으로 우분투 대상이며, 오타가 있을 수 있으니 유의하시기 바랍니다.
** Bash
sudo vi /root/.bashrc
export http_proxy="SERVER"
export https_proxy="SERVER"
export ftp_proxy="SERVER"
sudo mkdir /usr/share/ca-certificates/extra
sudo cp CERT /usr/share/ca-certificates/extra/CERT
sudo dpkg-reconfigure ca-certificates
cat CERT >> /etc/ssl/certs/ca-certificates.crt
** Gradle
C:\Users\YOURID\.gradle\gradle.properties 생성
systemProp.proxySet="true"
systemProp.http.keepAlive="true"
systemProp.http.proxyHost=SERVERHOST
systemProp.http.proxyPort=SERVERPORT
systemProp.https.keepAlive="true"
systemProp.https.proxyHost=SERVERHOST
systemProp.https.proxyPort=SERVERPORT
systemProp.https.proxyUser=USERNAME
systemProp.https.proxyPassword=PASSWORD
systemProp.https.nonProxyHosts="local.net|some.host.com"
keytool -importcert -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -trustcacerts -alias "My PROXY" -file CERT
** Python (Win)
https_proxy 환경 변수에 프록시 서버 주소 설정
PIP_CERT 환경 변수에 인증서 설정
잘 안되는 경우
pip --cert CERT install <원하는 패키지>
** wget
vi ~/.wgetrc
use_proxy=yes
http_proxy=SERVER
https_proxy=SERVER
ca_certificate=CERT
** nodejs
sudo npm config set https-proxy SERVER --global
sudo npm config set http-proxy SERVER --global
sudo npm config set cafile CERT
그래도 잘 안될 땐 눈물을 머금고
sudo npm config set strict-ssl false --global
sudo npm config set registry http://registry.npmjs.org/ --global
윈도우에서 에러 날때 :
VCTargetsPath 환경변수에 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
npm install java
** apt-get
sudo vi /etc/apt/apt.conf
Acquire::http::Proxy "SERVER";
Acquire::https::Proxy "SERVER";
우분투에서 뭔가 잘 안된다면 kr.archive.ubuntu 를 ftp.daum.net 으로 변경해 봅시다.
sudo vi /etc/apt/sources.list
:1,$ s/kr.archive.ubuntu.com/ftp.daum.net/g
sudo apt-get update
** cURL
sudo vi /etc/ssl/certs/ca-certificates.crt 파일에
CERT 내용 add ( cat CERT >> /etc/ssl/certs/ca-certificates.crt )
** git
sudo git config --global http.proxy SERVER
sudo git config --system http.sslcainfo CERT
** npm
npm config set proxy SERVER
npm config set https-proxy SERVER
npm config set cafile CERT
npm --add-python-to-path='true' --debug install --global windows-build-tools
그래도 잘 안되면 눈물을 머금고
npm config set "strict-ssl" false -g
** yarn
yarn config set proxy SERVER
yarn config set https-proxy SERVER
그래도 잘 안되면 눈물을 머금고
yarn config set "strict-ssl" false -g
set NODE_TLS_REJECT_UNAUTHORIZED=0
Export NODE_TLS_REJECT_UNAUTHORIZED=0
** Android Studio (Win)
기본적으로 프록시 설정이 쉽게 잘 되어 있습니다만... 인증서 설정은 아니죠
C:\Program Files\Android\Android Studio\jre\bin>keytool.exe -import -alias proxycert -file CERT -keystore ../jre/lib/security/cacerts