IPv6-bindinger og utgående IPVersion i Indy HTTP-proxy
Legg til eksplisitte lokale IPv4/IPv6-bindinger før aktivering; velg den nødvendige neste hopp-familien på OutboundClient før den kobler til.
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;Bruk dette på den inaktive eksisterende TIdHTTPProxyServer og bruk deretter dens vanlige aktivering. Loopback-adressene godtar bevisst bare lokale klienter; ekstern bruk krever tilgjengelige grensesnittadresser og tilgangskontroller. Bekreft den resulterende tilgangsgrensen før du eksponerer den lytteren.
De innkommende bindingene og den utgående sockelen gjør forskjellige jobber:
| Socket | Familievalg |
|---|---|
| Klienten når proxyen | Hver eksplisitte Bindings-oppføring |
| Proxyen når neste hopp | Kontekstens OutboundClient.IPVersion |
En IPv6-lytter tvinger derfor ikke hver destinasjon til IPv6. Hvis arbeidsbelastningen krever en eksplisitt neste hopp-familie, angi den i OnHTTPBeforeCommand før den klienten kobler til, i samsvar med den tiltenkte destinasjonsveien.
Skill lytterfeil fra neste hopp-feil når én side virker. Å stole på automatiske bindinger kan ellers føre plattformavhengige antakelser inn i sammenligningen.