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;

Terapkan ini pada TIdHTTPProxyServer yang ada dan tidak aktif, lalu gunakan aktivasi normalnya. Alamat loopback sengaja hanya menerima klien lokal; penggunaan jarak jauh memerlukan alamat antarmuka yang terjangkau dan kontrol akses. Verifikasi batas akses yang dihasilkan sebelum mengekspos pendengar tersebut.

Binding masuk dan soket keluar menjalankan tugas yang berbeda:

SoketPemilihan keluarga
Klien mencapai proksiSetiap entri Bindings eksplisit
Proksi mencapai hop berikutnyaOutboundClient.IPVersion milik konteks

Karena itu, pendengar IPv6 tidak memaksa setiap tujuan memakai IPv6. Jika beban kerja memerlukan keluarga hop berikutnya yang eksplisit, setel di OnHTTPBeforeCommand sebelum klien tersebut terhubung, sesuai jalur tujuan yang dimaksud.

Pisahkan kegagalan pendengar dari kegagalan hop berikutnya ketika satu sisi berfungsi. Mengandalkan binding otomatis jika tidak dapat memasukkan asumsi yang bergantung pada platform ke dalam perbandingan.

Artikel terkait