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;

これを既存の非アクティブな TIdHTTPProxyServer に適用し、通常の有効化を行います。loopback アドレスは意図的にローカルクライアントだけを受け付けます。リモート利用には到達可能なインターフェイスアドレスとアクセス制御が必要です。 結果として生じるアクセス境界を確認する そのリスナを公開する前に.

受信側のバインドと送信側のソケットは別の役割を担います。

ソケットファミリの選択
クライアントがプロキシに到達明示的な各 Bindings エントリ
プロキシがネクストホップに到達コンテキストの OutboundClient.IPVersion

したがって IPv6 リスナはすべての宛先を IPv6 に強制しません。ワークロードが明示的なネクストホップのファミリを必要とする場合は、そのクライアントが接続する前に OnHTTPBeforeCommand で設定し、意図した宛先経路に合わせます。

片側だけが動作する場合は、リスナの障害とネクストホップの障害を切り分けます。自動バインドに頼ると、プラットフォーム依存の前提が比較に持ち込まれることがあります。

関連記事