Перейти к содержимому

Исходящий прокси

Когда NORA проксирует пакеты из вышестоящих реестров (npmjs.org, pypi.org, registry.docker.io и т. д.), она выполняет исходящие HTTP/HTTPS-запросы. В корпоративных средах такие запросы часто должны проходить через forward proxy.

NORA учитывает стандартные переменные окружения для прокси, которые используются большинством HTTP-клиентов.

ПеременнаяПримерОписание
HTTP_PROXYhttp://proxy.corp:3128Прокси для HTTP-запросов
HTTPS_PROXYhttp://proxy.corp:3128Прокси для HTTPS-запросов
ALL_PROXYsocks5://proxy.corp:1080Прокси для всех протоколов (наименьший приоритет)
NO_PROXYlocalhost,127.0.0.1,.internalСписок хостов/доменов через запятую, для которых прокси не используется

Поддерживаются варианты как в верхнем, так и в нижнем регистре (HTTP_PROXY и http_proxy). Приоритет имеет верхний регистр.

services:
nora:
image: ghcr.io/getnora-io/nora:latest
environment:
NORA_HOST: "0.0.0.0"
HTTPS_PROXY: http://proxy.corp.example.com:3128
NO_PROXY: localhost,127.0.0.1,10.0.0.0/8,.corp.example.com
ports:
- 4000:4000
[Service]
Environment="HTTPS_PROXY=http://proxy.corp.example.com:3128"
Environment="NO_PROXY=localhost,127.0.0.1,10.0.0.0/8"
ExecStart=/usr/local/bin/nora serve

Переменная NO_PROXY принимает:

  • Точные имена хостов: registry.internal
  • Доменные суффиксы с точкой: .corp.example.com (соответствует anything.corp.example.com)
  • IP-адреса: 127.0.0.1, 10.0.0.1
  • CIDR-диапазоны: 10.0.0.0/8, 172.16.0.0/12
  • Wildcard: * (отключить прокси для всех запросов)

NORA логирует обнаруженную конфигурацию прокси при запуске:

INFO Outbound proxy detected from environment var=HTTPS_PROXY proxy=http://proxy.corp:3128
INFO NO_PROXY exclusions configured no_proxy=localhost,127.0.0.1,.internal

Если вы не видите этих строк, значит переменные окружения не доходят до процесса NORA. Проверьте конфигурацию Docker Compose или systemd.