Γιατί μια ρύθμιση διαμεσολαβητή HTTP δεν διορθώνει μια σύνδεση PostgreSQL
Διαχωρίστε το πρωτόκολλο βάσης δεδομένων του PostgreSQL από τη δρομολόγηση HTTP και ελέγξτε τη διαδρομή υποδοχής που απαιτεί το SOCKS.
Το http.proxyHost μπορεί να δρομολογήσει έναν συμμετέχοντα πελάτη HTTP, αλλά δεν κάνει τίποτα για το PostgreSQL JDBC. Το PostgreSQL στέλνει το πρωτόκολλο της βάσης δεδομένων του, όχι ένα αίτημα HTTP.
Το URL σύνδεσης JDBC πρέπει ακόμη να ονομάζει τον διακομιστή βάσης δεδομένων και τη βάση δεδομένων. Η αντικατάσταση του διακομιστή του με μια διεύθυνση διαμεσολαβητή HTTP δεν μπορεί να διδάξει στο πρόγραμμα οδήγησης το CONNECT.
Για μια υπηρεσία SOCKS, εξετάστε την υλοποίηση υποδοχής κάτω από το JDBC. Η Java εκθέτει αυτές τις ιδιότητες εκκίνησης για τις συμμετέχουσες υποδοχές:
-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080Αντικαταστήστε το τελικό σημείο της τεκμηρίωσης. Αυτά είναι ορίσματα JVM, όχι παράμετροι URL JDBC. Επαληθεύστε την πραγματική διαδρομή υποδοχής JDK/προγράμματος οδήγησης και οποιοδήποτε προσαρμοσμένο εργοστάσιο υποδοχών πριν περιμένετε να τα χρησιμοποιήσει.
Οι ιδιότητες ισχύουν για ολόκληρη τη διαδικασία, επομένως συμπεριλάβετε και άλλες συνδέσεις στην αξιολόγηση επιπτώσεων. Ένας τεκμηριωμένος αποκλειστικός σύνδεσμος ή ένα εγκεκριμένο τούνελ μπορεί να προσφέρει σαφέστερο όριο όταν μόνο η κίνηση της βάσης δεδομένων πρέπει να ακολουθεί τη διαδρομή.
Ο διαμεσολαβητής εξακολουθεί να χρειάζεται άδεια και προσβασιμότητα στη θύρα της βάσης δεδομένων. Στη συνέχεια η βάση δεδομένων εφαρμόζει κανόνες πρόσβασης κεντρικού υπολογιστή, TLS προορισμού και τη δική της σύνδεση. Διατηρήστε το όνομα κεντρικού υπολογιστή του πιστοποιητικού και κρατήστε τον λογαριασμό της βάσης δεδομένων ξεχωριστό από τον λογαριασμό του διαμεσολαβητή.
Καταγράψτε το πρώτο στάδιο που απέτυχε: σύνδεση διαμεσολαβητή, διαπραγμάτευση, TCP βάσης δεδομένων, TLS ή σύνδεση στη βάση δεδομένων. Αυτά τα στοιχεία προσδιορίζουν την επόμενη αλλαγή· η επανειλημμένη προσαρμογή αχρησιμοποίητων ιδιοτήτων HTTP δεν μπορεί να το κάνει.