ProxyServer.Bindings.Clear;
with ProxyServer.Bindings.Add do
begin
  IPVersion := Id_IPv4;
  IP := '127.0.0.1';
  Port := 8080;
end;
with ProxyServer.Bindings.Add do
begin
  IPVersion := Id_IPv6;
  IP := '::1';
  Port := 8080;
end;

Appliquez ceci au TIdHTTPProxyServer inactif existant, puis utilisez son activation normale. Les adresses loopback n’acceptent volontairement que les clients locaux ; l’usage distant exige des adresses d’interface joignables et des contrôles d’accès. Vérifiez la frontière d’accès obtenue avant d’exposer cet écouteur.

Les liaisons entrantes et la socket sortante remplissent des rôles distincts :

SocketChoix de la famille
Le client atteint le proxyChaque entrée Bindings explicite
Le proxy atteint le saut suivantL’OutboundClient.IPVersion du contexte

Un écouteur IPv6 n’impose donc pas IPv6 à chaque destination. Si la charge de travail exige une famille de saut suivant explicite, définissez-la dans OnHTTPBeforeCommand avant que ce client ne se connecte, en accord avec le chemin de destination prévu.

Séparez la panne de l’écouteur de celle du saut suivant lorsqu’un côté fonctionne. S’appuyer sur des liaisons automatiques risque sinon d’introduire des hypothèses dépendantes de la plate-forme dans la comparaison.

Articles similaires