드라이버 수준 SOCKS 지원을 문서화하는 Oracle JDBC 드라이버에서는 기존 연결 설정을 통해 이 속성들을 전달하십시오:

properties.setProperty("oracle.net.socksProxyHost", "127.0.0.1");
properties.setProperty("oracle.net.socksProxyPort", "1080");

이들은 중계자를 선택할 뿐, 데이터베이스 호스트, 서비스 또는 로그인을 대체하지 않습니다. 설치된 드라이버가 이를 지원하고 연결 팩토리가 실제로 해당 속성 소스를 전달하는지 확인하십시오. 경로가 공용 중계자를 허용하는 경우, 공개적으로 접근 가능한 데이터베이스에는 SOCKS 프록시 목록에서 해당 드라이버의 SOCKS 지원에 맞는 후보를 고를 수 있습니다. 데이터베이스 계정과 TLS 설정을 유지한 채 실제 데이터베이스 또는 발견된 엔드포인트와 포트에 대한 접근을 확인하십시오. 이 공용 분기는 프록시 계정 입력이 설정되지 않은 경우에만 사용하고, 기존 프록시 사용자 이름이나 비밀번호를 후보로 넘기지 마십시오.

기능목적
SOCKS 속성지원되는 네트워크 중계 경로
HTTPS 프록시 속성다른 네트워크 프록시 경로
데이터베이스 프록시 사용자 인증데이터베이스 신원이며 인터넷 중계가 아님

API는 oracle.net.socksRemoteDNS도 문서화합니다. 배포된 드라이버에서의 가용성과 동작을 확인하십시오. 일반 JVM 속성과 Oracle 전용 속성은 상호 교환할 수 없습니다.

오래된 SOCKS/NIO 해결책은 당시의 드라이버 맥락이 필요합니다. 과거 답변이 그렇게 했다는 이유만으로 전송을 비활성화하지 마십시오. 라우팅이 동작한 후에도 데이터베이스 프로토콜, TLS, 검색 및 인증에는 호환되는 연결 기술자와 계정이 필요합니다.

관련 글