Wêrom in HTTP-proxyynstelling in PostgreSQL-ferbining net reparearret
Skied it databankprotokol fan PostgreSQL fan HTTP-routing en kontrolearje it socketpaad dat SOCKS nedich hat.
http.proxyHost kin in dielnimmende HTTP-klant routearje, mar docht neat foar PostgreSQL JDBC. PostgreSQL stjoert syn databankprotokol, net in HTTP-fersyk.
De JDBC-ferbinings-URL moat noch altyd de databankserver en de databank neame. It ferfangen fan syn server troch in HTTP-proxyadres kin de driver CONNECT net leare.
Foar in SOCKS-tsjinst, ûndersykje de socket-ymplemintaasje ûnder JDBC. Java biedt dizze opstarteigenskippen foar dielnimmende sockets:
-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080Ferfange it einpunt fan 'e dokumintaasje. Dit binne JVM-argumenten, gjin JDBC-URL-parameters. Kontrolearje it werklike JDK/driver-socketpaad en elke oanpaste socketfabryk foardat jo ferwachtsje dat it se brûkt.
De eigenskippen jilde foar it hiele proses, dus nim oare ferbiningen op yn 'e ynfloedbeoardieling. In dokumintearre wijdde connector of in goedkarde tunnel kin in dúdliker grins biede as allinnich databankferkear de rûte nimme moat.
De proxy hat noch altyd tastimming en berikberens fan 'e databankpoarte nedich. Dan past de databank hosttagongsregels, bestimming-TLS en syn eigen oanmelding ta. Bewarje de hostsnamme fan it sertifikaat en hâld it databankaccount skieden fan it proxyaccount.
Registrearje de earste mislearre faze: proxyferbining, ûnderhanneling, databank-TCP, TLS of databankoanmelding. Dat bewiis identifisearret de folgjende feroaring; it hieltyd oanpassen fan net brûkte HTTP-eigenskippen kin dat net dwaan.