http.proxyHost สามารถกำหนดเส้นทางให้ไคลเอนต์ HTTP ที่เข้าร่วมได้ แต่ไม่ทำอะไรกับ PostgreSQL JDBC PostgreSQL ส่งโปรโตคอลฐานข้อมูลของตน ไม่ใช่คำขอ HTTP

URL การเชื่อมต่อ JDBC ยังต้องระบุเซิร์ฟเวอร์ฐานข้อมูลและฐานข้อมูล การแทนที่เซิร์ฟเวอร์ด้วยที่อยู่ HTTP proxy ไม่สามารถสอนให้ไดรเวอร์รู้จัก CONNECT ได้

สำหรับบริการ SOCKS ให้ตรวจสอบการทำงานของ socket ใต้ JDBC Java เปิดเผยพร็อพเพอร์ตีเริ่มต้นเหล่านี้สำหรับ socket ที่เข้าร่วม:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

แทนที่ปลายทางในเอกสาร สิ่งเหล่านี้คืออาร์กิวเมนต์ JVM ไม่ใช่พารามิเตอร์ URL ของ JDBC ตรวจสอบเส้นทาง socket จริงของ JDK/ไดรเวอร์และ socket factory ที่กำหนดเองก่อนคาดหวังว่าจะใช้งาน

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

พร็อกซียังต้องได้รับอนุญาตและเข้าถึงพอร์ตฐานข้อมูลได้ จากนั้นฐานข้อมูลจะใช้กฎการเข้าถึงของโฮสต์ TLS ปลายทาง และการเข้าสู่ระบบของตนเอง รักษาชื่อโฮสต์ของใบรับรองและแยกบัญชีฐานข้อมูลออกจากบัญชีพร็อกซี

บันทึกขั้นตอนแรกที่ล้มเหลว: การเชื่อมต่อพร็อกซี การเจรจา TCP ของฐานข้อมูล TLS หรือการเข้าสู่ระบบฐานข้อมูล หลักฐานนั้นระบุการเปลี่ยนแปลงถัดไป การปรับพร็อพเพอร์ตี HTTP ที่ไม่ได้ใช้ซ้ำๆ ไม่สามารถทำเช่นนั้นได้

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