PhpXmlRpc Client.setProxy でフォワードプロキシを設定する
中間プロキシには PhpXmlRpc Client.setProxy を使い、XML-RPC サービスの URL は宛先として残します。
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 を提供することを示していません。
実際に生成されたクラスとトランスポートを特定し、そのクライアントのプロキシ用インターフェースを使いつつ、可能な範囲でフレームワークのメッセージ組み立てを保ちます。