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;

Wenden Sie dies auf den inaktiven vorhandenen TIdHTTPProxyServer an und nutzen Sie dann dessen normale Aktivierung. Die Loopback-Adressen nehmen bewusst nur lokale Clients an; eine entfernte Nutzung erfordert erreichbare Interface-Adressen und Zugriffskontrollen. Prüfen Sie die resultierende Zugriffsgrenze bevor Sie diesen Listener exponieren.

Die eingehenden Bindungen und der ausgehende Socket erfüllen unterschiedliche Aufgaben:

SocketFamilienauswahl
Client erreicht ProxyJeder explizite Bindings-Eintrag
Proxy erreicht nächsten HopOutboundClient.IPVersion des Kontexts

Ein IPv6-Listener erzwingt daher nicht für jedes Ziel IPv6. Wenn die Arbeitslast eine explizite Next-Hop-Familie verlangt, legen Sie sie in OnHTTPBeforeCommand fest, bevor dieser Client verbindet, passend zum beabsichtigten Zielpfad.

Trennen Sie Listener-Fehler von Next-Hop-Fehlern, wenn eine Seite funktioniert. Wer sich auf automatische Bindungen verlässt, führt sonst plattformabhängige Annahmen in den Vergleich ein.

Ähnliche Artikel