Identifiants Apache ProxyRemote et proxy-chain-auth
Choisissez entre un compte fixe pour le proxy parent et le transfert délibéré des identifiants de proxy du client.
Un client peut s’authentifier auprès d’un proxy direct Apache avec un compte, tandis qu’Apache s’authentifie auprès d’un proxy parent avec un autre :
client ── client account ── Apache ── parent account ── parent proxy
Pour un compte parent fixe sur httpd 2.4.59 ou ultérieur, ProxyRemote accepte un troisième argument :
ProxyRemote "*" "http://parent.example:3128" "parent-user:replace_with_private_password"
Cela complète la configuration existante de proxy direct avec contrôle d’accès, par exemple un écouteur privé qui exige à la fois une IP client et une connexion proxy. Le compte appartient au parent choisi. Protégez la configuration qui le contient et choisissez la portée de correspondance requise par le déploiement.
Apache envoie ces identifiants Basic de manière préemptive, sans attendre d’abord un défi. Cela rend importants le transport et la politique de comptes de la connexion au parent ; la session HTTPS ultérieure du site ne protège pas elle-même un saut HTTP en clair vers le parent.
Quand le même compte entrant doit être poursuivi
Apache consomme normalement l’authentification de proxy qui lui est adressée. Le réglage d’environnement proxy-chain-auth permet au contraire de transmettre les identifiants de proxy du client au proxy suivant :
SetEnv proxy-chain-auth On
Ce n’est adapté qu’à une chaîne d’authentification délibérément partagée. Il transmet les éléments du compte entrant ; il n’invente pas un autre nom d’utilisateur ni un autre mot de passe pour le parent.
Avec l’argument d’identifiants explicite de ProxyRemote, proxy-chain-auth n’a aucun effet. Choisissez délibérément la source des identifiants plutôt que de superposer les deux réglages en espérant que le mot de passe qui fonctionne sera retenu.
Ces mécanismes authentifient les sauts de proxy. L’en-tête Authorization d’un site de destination reste un échange distinct.