CONNECT-flutningur Akka HTTP fyrir HTTPS-beiðnir
Tengdu proxyflutninginn við stillingar tengingapollsins og sendu þær stillingar með beiðninni sem þarf göngin.
Fyrir HTTPS-beiðni í Akka HTTP skaltu stilla biðlaraflutninginn þannig að hann komi á CONNECT í gegnum framsendingarproxyið:
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)
Forritið leggur til núverandi ActorSystem sitt sem system og heldur venjulegum lífsferli straumsins og svarhlutarins. Neyttu eða hentu skilaða svarhlutnum eftir þörfum svo hægt sé að losa tenginguna.
Nafnið httpsProxy vísar hér til að koma á HTTPS-áfangatengingunni í gegnum HTTP CONNECT-proxy. Þetta er ekki fyrirmæli um að opna TLS-lotu við proxy-hlustaraninn sjálfan.
Sendu sérsniðnu stillingarnar í beiðnina eða pollinn sem sendir umferðina. Að byggja stillingar við hlið kalls sem notar aðra pollstillingu lætur það kall óbreytt.
Akka skjalfestir þennan flutning fyrir HTTPS-beiðnir. Haltu áfangastaðnum sem raunverulegu HTTPS URI hans. HTTP-endapunktur úr HTTP-proxylistanum er kandídat fyrir flutninginn þegar hann leyfir nauðsynlega CONNECT-áfangastaðinn. Dæmi um bindFlow-framsendingu á þjónahlið býr til aðra HTTP-þjónustu og svarar annarri byggingarvandamáli.