Rest5Client ของ Elasticsearch เปิดเผย Apache HttpClient 5 builder ผ่าน callback การกำหนดค่า:

import co.elastic.clients.transport.rest5_client.low_level.Rest5Client;
import org.apache.hc.core5.http.HttpHost;

var proxy = new HttpHost("http", "proxy.example.net", 8080);

var rest = Rest5Client.builder(
    new HttpHost("https", "search.example.net", 9200))
    .setHttpClientConfigCallback(httpBuilder -> {
        httpBuilder.setProxy(proxy);
    })
    .build();

ส่ง rest ไปยังการตั้งค่าการรับส่งของ Elasticsearch ในแอปพลิเคชัน และปิดเมื่อส่วนประกอบนั้นหยุดทำงาน โฮสต์การค้นหายังคงเป็น HTTPS; สคีมา http ของพร็อกซีอธิบายการเชื่อมต่อกับตัวกลาง สำหรับเส้นทางพร็อกซีสาธารณะที่ได้รับอนุญาตไปยังโฮสต์การค้นหาที่เข้าถึงได้จากสาธารณะ รายการพร็อกซี HTTP มีผู้สมัครปลายทางให้; ยืนยันว่าพร็อกซีที่เลือกอนุญาตโฮสต์การค้นหาและพอร์ต

สำหรับการยืนยันตัวตนพร็อกซี ให้แนบผู้ให้บริการข้อมูลรับรอง Apache 5 ที่มีขอบเขตเหมาะสมใน callback เดียวกัน เก็บบัญชี Elasticsearch ไว้แยกต่างหาก

callback ยอมรับ Consumer: กำหนดค่า builder ที่ให้มาภายในบล็อกโดยไม่คืนค่าตัวแทน ตัวอย่าง RestHighLevelClient ที่ใช้ org.apache.http เป็นรุ่นเก่า; Apache 5 ใช้แพ็กเกจ org.apache.hc

บทความที่เกี่ยวข้อง