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:

SocketFamilievalg
Klienten når proxyenHver eksplicit Bindings-post
Proxyen når næste hopKontekstens 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.

Relaterede artikler