Работа через прокси

Docker

Если доступ к docker.mitigator.ru ведется через прокси, необходимо настроить Docker.

В системах под управлением systemd нужно:

  1. Создать drop-in к службе Docker´а с указанием прокси в окружении (детали подключения к прокси заменить на актуальные):

    mkdir -p /etc/systemd/system/docker.service.d && \
    cat >/etc/systemd/system/docker.service.d/proxy.conf <<END
    [Service]
    Environment=HTTP_PROXY=http://user:password@proxy.local:1234
    Environment=HTTPS_PROXY=http://user:password@proxy.local:1234
    Environment=NO_PROXY=docker.local
    END
  2. Добавить сертификат прокси в доверенные для Docker´а (/path/to/proxy.crt заменить на путь к сертификату прокси):

    mkdir -p /etc/docker/certs.d/docker.mitigator.ru && \
    cp /path/to/proxy.crt /etc/docker/certs.d/docker.mitigator.ru/ca.crt
  3. Обновить описание службы Docker и перезапустить её:

    systemctl daemon-reload && \
    systemctl restart docker

MITIGATOR

Если MITIGATOR будет сообщаться с сервером лицензий (ls.mitigator.ru), почтовым сервером и службой «Весточка» через прокси, нужно указать переменные окружения. Для этого нужно:

  1. Создать YML‑файл docker-compose.proxy.yml со следующим содержимым:

    services:
      backend:
        environment:
          HTTP_PROXY: "http://user:password@proxy.local:3128"
          HTTPS_PROXY: "http://user:password@proxy.local:3128"
  2. Добавить docker-compose.proxy.yml в список COMPOSE_FILE в .env:

    sed -i 's/^COMPOSE_FILE=\(.*\)$/COMPOSE_FILE=\1:docker-compose.proxy.yml/' .env
  3. При необходимости задать также NO_PROXY (адреса, к которым нужно обращаться без прокси), требуется включать в нее .mitigator, localhost, 127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16 и 172.16.0.0/12:

    NO_PROXY: "<новые серверы>,.mitigator,localhost,127.0.0.0/8,10.0.0.0/8,192.168.0.0/16,172.16.0.0/12"
  4. Перезапустить службу бэкенда:

    docker-compose up -d backend

Не используйте настройки прокси в файле конфигурации ~/.docker/config.json. Если эти настройки требуются для работы контейнеров, не относящихся к MITIGATOR, укажите их только для таких контейнеров.