IPv6-bindinger og udgående IPVersion i Indy HTTP-proxy
Tilføj eksplicitte lokale IPv4/IPv6-bindinger før aktivering; vælg den nødvendige næste-hop-familie på OutboundClient, før den opretter forbindelse.
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;Anvend dette på den inaktive eksisterende TIdHTTPProxyServer og brug derefter dens normale aktivering. Loopback-adresserne accepterer bevidst kun lokale klienter; fjernbrug kræver tilgængelige interface-adresser og adgangskontrol. Bekræft den resulterende adgangsgrænse før du eksponerer den lytter.
De indgående bindinger og den udgående socket løser forskellige opgaver:
| Socket | Familievalg |
|---|---|
| Klienten når proxyen | Hver eksplicit Bindings-post |
| Proxyen når næste hop | Kontekstens OutboundClient.IPVersion |
En IPv6-lytter tvinger derfor ikke hver destination til IPv6. Hvis arbejdsbyrden kræver en eksplicit næste-hop-familie, angiv den i OnHTTPBeforeCommand før den klient opretter forbindelse, så den matcher den tilsigtede destinationsvej.
Adskil lytterfejl fra næste-hop-fejl, når den ene side virker. Afhængighed af automatiske bindinger kan ellers indføre platformsafhængige antagelser i sammenligningen.