IPv6-Bindungen und ausgehendes IPVersion im Indy-HTTP-Proxy
Explizite lokale IPv4/IPv6-Bindungen vor der Aktivierung hinzufügen; die benötigte Next-Hop-Familie am OutboundClient wählen, bevor er verbindet.
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:
| Socket | Familienauswahl |
|---|---|
| Client erreicht Proxy | Jeder explizite Bindings-Eintrag |
| Proxy erreicht nächsten Hop | OutboundClient.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.