Установить глобальный прокси на сервере Ubuntu для ВСЕХ приложений

Ubuntu Server 16/18.

На сервере запущено множество приложений, в том числе докер, npm, maven, gradle и т. Д.

I Я устал устанавливать прокси для каждого приложения. Можно ли установить это глобально?

Примечание: когда я говорю глобально, я имею в виду КАЖДОЕ СОЕДИНЕНИЕ, включая загрузку пакетов с помощью apt-get , загрузку артефактов с помощью maven / gradle / npm из Процесс сборки или запуска Docker.

0
задан 19 June 2020 в 04:55

1 ответ

Решением является установка переменных окружения в каждом процессе.

Я полагаю, что 192.168.88.88: 3128 - это ip-порт для моего прокси-сервера squid.

В ubuntu 18.04 (моя тестовая машина)

Вы должны:

  1. изменить / 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"
  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"
  1. Вы должны перезагрузить сервер, чтобы перезапустить процесс.

  2. Вы можете проверить, что каждый процесс имеет правильную настройку, вы можете запустить эту команду:

(
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, которые имеют этот процесс.

0
ответ дан 19 June 2020 в 21:22

Другие вопросы по тегам:

Похожие вопросы: