Ubuntu Server 16/18.
На сервере запущено множество приложений, в том числе докер, npm, maven, gradle и т. Д.
I Я устал устанавливать прокси для каждого приложения. Можно ли установить это глобально?
Примечание: когда я говорю глобально, я имею в виду КАЖДОЕ СОЕДИНЕНИЕ, включая загрузку пакетов с помощью apt-get
, загрузку артефактов с помощью maven / gradle / npm
из Процесс сборки или запуска Docker.
Решением является установка переменных окружения в каждом процессе.
Я полагаю, что 192.168.88.88: 3128
- это ip-порт для моего прокси-сервера squid.
В ubuntu 18.04 (моя тестовая машина)
Вы должны:
/ etc / environment
, добавив следующие строки: FTP_PROXY="http://192.168.88.88:3128/"
HTTPS_PROXY="http://192.168.88.88:3128/"
HTTP_PROXY="http://192.168.88.88:3128/"
NO_PROXY="localhost,127.0.0.0/8,::1"
ftp_proxy="http://192.168.88.88:3128/"
http_proxy="http://192.168.88.88:3128/"
https_proxy="http://192.168.88.88:3128/"
no_proxy="localhost,127.0.0.0/8,::1"
/etc/systemd/system.conf
в разделе [Manager]
, добавив одну большую строку: DefaultEnvironment="FTP_PROXY=http://192.168.88.88:3128/" "HTTPS_PROXY=http://192.168.88.88:3128/" "HTTP_PROXY=http://192.168.88.88:3128/" "NO_PROXY=localhost,127.0.0.0/8,::1" "ftp_proxy=http://192.168.88.88:3128/" "http_proxy=http://192.168.88.88:3128/" "https_proxy=http://192.168.88.88:3128/" "no_proxy=localhost,127.0.0.0/8,::1"
Вы должны перезагрузить сервер, чтобы перезапустить процесс.
Вы можете проверить, что каждый процесс имеет правильную настройку, вы можете запустить эту команду:
(
for PROCPID in /proc/[1-9]* ;
do
FENV=${PROCPID}/environ ;
C=$(sudo strings $FENV | grep -c -i 'proxy.*=' ) ;
PCMDL=$(sudo strings ${PROCPID}/cmdline | tr '\n' ' ') ;
PID=$(basename $PROCPID) ;
PCOMM=$(sudo strings ${PROCPID}/comm) ;
printf '%s:%s:%s:%s\n' "$C" "$PID" "$PCMDL" "$PCOMM"
done
)
Эта команда выполняет цикл для каждого запущенного в данный момент процесса и будет подсчитывать переменные окружения, имя которых содержит прокси.
если строка начинается с 8:
, это означает, что у вас есть 8 переменных env, которые имеют этот процесс.