Mengapa Tetapan Proksi HTTP Tidak Membaiki Sambungan PostgreSQL
Pisahkan protokol pangkalan data PostgreSQL daripada penghalaan HTTP dan semak laluan soket yang diperlukan untuk SOCKS.
http.proxyHost boleh menghalakan klien HTTP yang menyertai tetapi tidak melakukan apa-apa kepada PostgreSQL JDBC. PostgreSQL menghantar protokol pangkalan datanya, bukan permintaan HTTP.
URL sambungan JDBC masih mesti menamakan pelayan pangkalan data dan pangkalan data. Menggantikan pelayannya dengan alamat proksi HTTP tidak boleh mengajar pemacu CONNECT.
Untuk perkhidmatan SOCKS, siasat pelaksanaan soket di bawah JDBC. Java mendedahkan sifat permulaan ini untuk soket yang menyertai:
-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080Gantikan titik akhir dokumentasi. Ini ialah argumen JVM, bukan parameter URL JDBC. Sahkan laluan soket JDK/pemacu sebenar dan mana-mana kilang soket tersuai sebelum mengharapkan ia menggunakannya.
Sifat ini terpakai kepada seluruh proses, jadi sertakan sambungan lain dalam penilaian kesan. Penyambung khusus yang didokumenkan atau terowong yang diluluskan boleh memberikan sempadan yang lebih jelas apabila hanya trafik pangkalan data perlu melalui laluan itu.
Proksi masih memerlukan kebenaran dan kebolehcapaian ke port pangkalan data. Pangkalan data kemudian menggunakan peraturan akses hos, TLS destinasi dan log masuknya sendiri. Kekalkan nama hos sijilnya dan asingkan akaun pangkalan data daripada akaun proksi.
Rekodkan peringkat pertama yang gagal: sambungan proksi, rundingan, TCP pangkalan data, TLS atau log masuk pangkalan data. Bukti itu mengenal pasti perubahan seterusnya; melaraskan sifat HTTP yang tidak digunakan berulang kali tidak dapat melakukannya.