RESTEasy 6.2: 클라이언트 빌더에서 포워드 프록시 설정
타입 지정 API 프록시를 만들기 전에 RESTEasy의 HTTP 전송을 구성하고 사용 중인 HTTP 엔진을 고려합니다.
주석이 달린 API 객체를 만들기 전에 RESTEasy 클라이언트에 네트워크 경로를 설정합니다. 타입 지정 API 프록시는 Java 객체이며, 포워드 네트워크 중개자가 아닙니다.
import jakarta.ws.rs.client.ClientBuilder;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
ResteasyClientBuilder builder =
(ResteasyClientBuilder) ClientBuilder.newBuilder();
ResteasyClient client = builder
.defaultProxy("proxy.example.net", 8080, "http")
.build();
MyApi api = client
.target("https://api.example.net")
.proxy(MyApi.class);이것은 RESTEasy 6.2의 Jakarta API이며, RESTEasy가 설치된 클라이언트 공급자이고 MyApi은 애플리케이션에서 이미 정의되어 있습니다. 프록시 인수는 호스트 이름, 정수 포트, 프록시 전송 스킴입니다. 허용된 공개 API 요청에는 서비스의 일치하는 HTTP 엔드포인트나 HTTP 프록시 목록을 사용하십시오. API의 목적지는 target에 두십시오. HTTPS API도 HTTP 프록시를 사용할 수 있습니다.
타입 지정 프록시의 호출 동안 클라이언트를 살려 두고, 작업이 끝날 때 닫으십시오. 이미 닫힌 클라이언트 범위에서 API 객체를 반환하면 전송이 없는 상태가 됩니다.
그 전송의 소유자를 정하십시오. 빌더 문서는 기본 Apache HTTP Client 통합을 설명합니다. ClientHttpEngine을 제공하면 경계가 바뀝니다. httpEngine는 빌더의 SSL 및 연결별 구성을 대체합니다. 프록시와 TLS는 해당 엔진이 지원하는 인터페이스로 설정하십시오.
ClientExecutor 기반의 오래된 예제는 대신 감싼 Apache 클라이언트를 구성합니다. Jakarta 빌더에 붙여 넣지 말고 그 세대에 맞추십시오.
두 분기 모두에서 API 호스트 이름을 TLS 식별자로 유지하고 검증을 켜 두십시오. 프록시 인증, API 로그인, 인증서 신뢰는 별개의 요구 사항입니다. 경로만으로는 모든 인증 방식을 제공하지 않습니다.