PhpXmlRpc의 네임스페이스 클라이언트는 포워드 프록시 경로를 위해 setProxy을 제공합니다:

use PhpXmlRpc\Client;

$client = new Client('https://rpc.example/service');
$client->setProxy('proxy.example', 8080);

생성자는 XML-RPC 서비스를 선택하고, setProxy은 중간자의 호스트와 포트를 받습니다. HTTP 프록시 목록에 있는 HTTP 주소를 그대로 넣으면 프록시 계정이 필요 없는 허용된 공개 XML-RPC 엔드포인트 경로로 쓸 수 있습니다. 선택한 전송이 필요한 방식을 지원하면 프록시 사용자 이름, 비밀번호, 인증 유형 인자도 받습니다.

애플리케이션의 XML-RPC 메시지는 이렇게 구성한 인스턴스로 보내고, 오류는 라이브러리의 일반 API로 처리하십시오. 전송의 HTTPS 인증서 검증은 그대로 두십시오.

프레임워크가 관리하는 클라이언트의 경우

CodeIgniter 3에 내장된 XML-RPC 라이브러리는 다른 클래스입니다. 그 server 메서드는 목적지를 정하며, PhpXmlRpc 예제는 $this->xmlrpc이 setProxy을 제공한다는 것을 보여 주지 않습니다.

실제로 만들어지는 클래스와 전송을 확인한 뒤 해당 클라이언트의 프록시 인터페이스를 사용하고, 가능한 범위에서 프레임워크의 메시지 구성은 유지하십시오.

관련 글