HTTP ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗ PostgreSQL ਕਨੈਕਸ਼ਨ ਨੂੰ ਕਿਉਂ ਠੀਕ ਨਹੀਂ ਕਰਦੀ
PostgreSQL ਦੇ ਡਾਟਾਬੇਸ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ HTTP ਰੂਟਿੰਗ ਤੋਂ ਵੱਖ ਕਰੋ ਅਤੇ SOCKS ਲਈ ਲੋੜੀਂਦਾ ਸਾਕਟ ਮਾਰਗ ਜਾਂਚੋ।
http.proxyHost ਹਿੱਸਾ ਲੈਣ ਵਾਲੇ HTTP ਕਲਾਇੰਟ ਨੂੰ ਰੂਟ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ PostgreSQL JDBC ਲਈ ਕੁਝ ਨਹੀਂ ਕਰਦਾ। PostgreSQL ਆਪਣਾ ਡਾਟਾਬੇਸ ਪ੍ਰੋਟੋਕੋਲ ਭੇਜਦਾ ਹੈ, HTTP ਬੇਨਤੀ ਨਹੀਂ।
JDBC ਕਨੈਕਸ਼ਨ URL ਨੂੰ ਅਜੇ ਵੀ ਡਾਟਾਬੇਸ ਸਰਵਰ ਅਤੇ ਡਾਟਾਬੇਸ ਦਾ ਨਾਮ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਸ ਦੇ ਸਰਵਰ ਨੂੰ HTTP ਪ੍ਰੌਕਸੀ ਪਤੇ ਨਾਲ ਬਦਲਣਾ ਡਰਾਈਵਰ ਨੂੰ CONNECT ਨਹੀਂ ਸਿਖਾ ਸਕਦਾ।
SOCKS ਸੇਵਾ ਲਈ, JDBC ਦੇ ਹੇਠਾਂ ਸਾਕਟ ਲਾਗੂਕਰਨ ਦੀ ਜਾਂਚ ਕਰੋ। Java ਹਿੱਸਾ ਲੈਣ ਵਾਲੇ ਸਾਕਟਾਂ ਲਈ ਇਹ ਸਟਾਰਟਅੱਪ ਗੁਣ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080ਦਸਤਾਵੇਜ਼ ਦਾ ਐਂਡਪੌਇੰਟ ਬਦਲੋ। ਇਹ JVM ਆਰਗਿਊਮੈਂਟ ਹਨ, JDBC URL ਪੈਰਾਮੀਟਰ ਨਹੀਂ। ਇਸ ਦੇ ਵਰਤੋਂ ਦੀ ਉਮੀਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਸਲ JDK/ਡਰਾਈਵਰ ਸਾਕਟ ਮਾਰਗ ਅਤੇ ਕੋਈ ਵੀ ਕਸਟਮ ਸਾਕਟ ਫੈਕਟਰੀ ਜਾਂਚੋ।
ਗੁਣ ਪੂਰੀ ਪ੍ਰਕਿਰਿਆ 'ਤੇ ਲਾਗੂ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ ਪ੍ਰਭਾਵ ਮੁਲਾਂਕਣ ਵਿੱਚ ਹੋਰ ਕਨੈਕਸ਼ਨ ਸ਼ਾਮਲ ਕਰੋ। ਜਦੋਂ ਸਿਰਫ਼ ਡਾਟਾਬੇਸ ਟ੍ਰੈਫਿਕ ਨੂੰ ਇਹ ਮਾਰਗ ਲੈਣਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਦਸਤਾਵੇਜ਼ੀ ਸਮਰਪਿਤ ਕਨੈਕਟਰ ਜਾਂ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਟਨਲ ਵਧੇਰੇ ਸਪਸ਼ਟ ਸੀਮਾ ਦੇ ਸਕਦੇ ਹਨ।
ਪ੍ਰੌਕਸੀ ਨੂੰ ਅਜੇ ਵੀ ਡਾਟਾਬੇਸ ਪੋਰਟ ਤੱਕ ਇਜਾਜ਼ਤ ਅਤੇ ਪਹੁੰਚ ਦੀ ਲੋੜ ਹੈ। ਫਿਰ ਡਾਟਾਬੇਸ ਹੋਸਟ ਪਹੁੰਚ ਨਿਯਮ, ਮੰਜ਼ਿਲ TLS ਅਤੇ ਆਪਣਾ ਲੌਗਇਨ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਇਸ ਦੇ ਸਰਟੀਫਿਕੇਟ ਦਾ ਹੋਸਟਨਾਮ ਸੰਭਾਲੋ ਅਤੇ ਡਾਟਾਬੇਸ ਖਾਤੇ ਨੂੰ ਪ੍ਰੌਕਸੀ ਖਾਤੇ ਤੋਂ ਵੱਖ ਰੱਖੋ।
ਪਹਿਲਾ ਅਸਫਲ ਪੜਾਅ ਦਰਜ ਕਰੋ: ਪ੍ਰੌਕਸੀ ਕਨੈਕਸ਼ਨ, ਗੱਲਬਾਤ, ਡਾਟਾਬੇਸ TCP, TLS ਜਾਂ ਡਾਟਾਬੇਸ ਲੌਗਇਨ। ਉਹ ਸਬੂਤ ਅਗਲਾ ਬਦਲਾਅ ਪਛਾਣਦਾ ਹੈ; ਅਣਵਰਤੇ HTTP ਗੁਣਾਂ ਨੂੰ ਵਾਰ-ਵਾਰ ਐਡਜਸਟ ਕਰਕੇ ਇਹ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।