Akka HTTP'ning HTTPS so'rovi uchun mijoz transportini CONNECT forward proxy orqali o'rnatiladigan qilib sozlang:

import java.net.InetSocketAddress
import akka.http.scaladsl.{ClientTransport, Http}
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.settings.ConnectionPoolSettings

val transport = ClientTransport.httpsProxy(
  InetSocketAddress.createUnresolved("proxy.example", 8080))

val settings = ConnectionPoolSettings(system)
  .withConnectionSettings(_.withTransport(transport))

val response = Http().singleRequest(
  HttpRequest(uri = "https://example.com/"),
  settings = settings)

Ilova mavjud ActorSystem'ni system sifatida taqdim etadi va odatdagi stream hamda response-entity hayot tsiklini saqlaydi. Ulanishni bo'shatish uchun qaytarilgan response entity'ni tegishlicha iste'mol qiling yoki tashlab yuboring.

Bu yerda httpsProxy nomi HTTP CONNECT proxy orqali HTTPS manziliga ulanish o'rnatishni bildiradi. Bu proxy listener'ning o'ziga TLS sessiyasi ochish haqidagi ko'rsatma emas.

Moslashtirilgan sozlamalarni trafik yuboruvchi so'rov yoki hovuzga uzating. Boshqa hovuz konfiguratsiyasidan foydalanuvchi chaqiruv yonida sozlama qurish o'sha chaqiruvni o'zgartirmaydi.

Akka bu transportni HTTPS so'rovlari uchun hujjatlashtiradi. Manzilni uning haqiqiy HTTPS URI'si sifatida saqlang. HTTP proxy ro'yxatidagi HTTP endpoint talab qilingan CONNECT manziliga ruxsat berganida transport uchun nomzod bo'ladi. Server tomonidagi bindFlow forwarding misoli boshqa HTTP xizmatini yaratadi va boshqa qurish muammosiga javob beradi.

O'xshash maqolalar