IPv6-bindingen en uitgaande IPVersion in de Indy HTTP-proxy
Voeg vóór activering expliciete lokale IPv4/IPv6-bindingen toe; kies de benodigde next-hop-familie op OutboundClient voordat deze verbindt.
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;Pas dit toe op de inactieve bestaande TIdHTTPProxyServer en gebruik daarna de normale activering. De loopback-adressen accepteren bewust alleen lokale clients; gebruik op afstand vereist bereikbare interfaceadressen en toegangscontroles. Controleer de resulterende toegangsgrens voordat u die listener blootstelt.
De inkomende bindingen en de uitgaande socket doen verschillend werk:
| Socket | Familiiekeuze |
|---|---|
| Client bereikt de proxy | Elke expliciete Bindings-regel |
| Proxy bereikt de volgende hop | De OutboundClient.IPVersion van de context |
Een IPv6-listener dwingt dus niet elke bestemming naar IPv6. Als de werklast een expliciete next-hop-familie vereist, stel die dan in OnHTTPBeforeCommand in voordat die client verbindt, in lijn met het beoogde bestemmingspad.
Scheid luisterfouten van next-hop-fouten wanneer één kant werkt. Vertrouwen op automatische bindingen kan anders platformafhankelijke aannames in de vergelijking brengen.