Kwa ombi la HTTPS la Akka HTTP, sanidi usafirishaji wa mteja ili CONNECT iundwe kupitia proksi ya mbele:

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)

Programu hutoa ActorSystem iliyopo kama system na hudumisha mzunguko wa kawaida wa stream na response-entity. Tumia au tupa response entity iliyorudishwa ipasavyo ili muunganisho uweze kuachiliwa.

Jina httpsProxy hapa linamaanisha kuanzisha muunganisho wa lengwa la HTTPS kupitia proksi ya HTTP CONNECT. Hii si maagizo ya kufungua kipindi cha TLS kwa msikilizaji wa proksi yenyewe.

Pitisha mipangilio iliyobinafsishwa kwenye ombi au pool inayotuma trafiki. Kuunda mipangilio kando ya wito unaotumia usanidi mwingine wa pool hakuubadilishi wito huo.

Akka huandika usafirishaji huu kwa maombi ya HTTPS. Weka lengwa kama URI yake halisi ya HTTPS. Endpoint ya HTTP kutoka orodha ya proksi za HTTP ni mtarajiwa wa usafirishaji inaporuhusu lengwa la CONNECT linalohitajika. Mfano wa upelekaji wa bindFlow upande wa seva huunda huduma nyingine ya HTTP na hujibu tatizo tofauti la ujenzi.

Makala zinazohusiana