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 ก่อนไคลเอนต์นั้นเชื่อมต่อ ให้สอดคล้องกับเส้นทางปลายทางที่ตั้งใจไว้

แยกความล้มเหลวของตัวรับฟังออกจากความล้มเหลวของฮอปถัดไปเมื่อฝั่งหนึ่งทำงาน การพึ่งพาการผูกอัตโนมัติอาจนำสมมติฐานที่ขึ้นกับแพลตฟอร์มเข้ามาในการเปรียบเทียบ

บทความที่เกี่ยวข้อง