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;

Applicare questo al TIdHTTPProxyServer inattivo esistente, poi usare la sua normale attivazione. Gli indirizzi loopback accettano deliberatamente solo client locali; l’uso remoto richiede indirizzi di interfaccia raggiungibili e controlli di accesso. Verificare il confine di accesso risultante prima di esporre quell’ascoltatore.

I binding in ingresso e il socket in uscita svolgono compiti diversi:

SocketSelezione della famiglia
Il client raggiunge il proxyOgni voce Bindings esplicita
Il proxy raggiunge il next hopL’OutboundClient.IPVersion del contesto

Un listener IPv6, quindi, non impone IPv6 a ogni destinazione. Se il carico di lavoro richiede una famiglia di next-hop esplicita, impostarla in OnHTTPBeforeCommand prima che quel client si connetta, in base al percorso di destinazione previsto.

Separare il guasto del listener da quello del next hop quando un lato funziona. Affidarsi a binding automatici può altrimenti introdurre nel confronto ipotesi dipendenti dalla piattaforma.

Articoli correlati