Учётные данные Apache ProxyRemote и proxy-chain-auth
Выберите между фиксированной учётной записью родительского прокси и намеренной передачей прокси-учётных данных клиента.
Клиент может аутентифицироваться на прямом прокси Apache с одной учётной записью, а Apache аутентифицируется на родительском прокси с другой:
client ── client account ── Apache ── parent account ── parent proxy
Для фиксированной учётной записи родительского прокси в httpd 2.4.59 или новее ProxyRemote принимает третий аргумент:
ProxyRemote "*" "http://parent.example:3128" "parent-user:replace_with_private_password"
Это дополняет существующую конфигурацию прямого прокси с контролем доступа, например частный слушатель, который требует и IP-адрес клиента, и вход на прокси. Учётная запись принадлежит выбранному родительскому прокси. Защитите конфигурацию, содержащую её, и выберите область совпадения, требуемую развёртыванием.
Apache отправляет эти Basic-учётные данные заранее, не дожидаясь сначала запроса. Поэтому транспорт и политика учётных записей соединения с родительским прокси важны; последующая HTTPS-сессия сайта сама по себе не защищает переход по HTTP открытым текстом к родительскому прокси.
Когда ту же входящую учётную запись следует продолжать
Обычно Apache расходует аутентификацию прокси, адресованную ему самому. Настройка окружения proxy-chain-auth вместо этого позволяет передавать прокси-учётные данные клиента следующему прокси:
SetEnv proxy-chain-auth On
Это подходит только для намеренно общей цепочки аутентификации. Она передаёт дальше материал входящей учётной записи; она не придумывает другие имя пользователя и пароль родительского прокси.
С явным аргументом учётных данных ProxyRemote настройка proxy-chain-auth не действует. Выбирайте источник учётных данных осознанно, а не наслаивайте обе настройки в надежде, что будет выбран работающий пароль.
Эти механизмы аутентифицируют переходы прокси. Заголовок Authorization целевого сайта остаётся отдельным обменом.