Az Akka HTTP CONNECT-transzportja HTTPS-kérésekhez
Csatolja a proxytranszportot a kapcsolatkészlet beállításaihoz, és adja át ezeket a beállításokat annak a kérésnek, amelynek szüksége van az alagútra.
Egy Akka HTTP HTTPS-kérés esetén állítsa be az ügyféltranszportot úgy, hogy CONNECT-kapcsolatot létesítsen az előremenő proxyn keresztül:
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)
Az alkalmazás a meglévő ActorSystemjét system néven biztosítja, és megtartja a szokásos stream- és válaszentitás-életciklust. A visszaadott válaszentitást a megfelelő módon fogyassza el vagy dobja el, hogy a kapcsolat felszabadítható legyen.
A httpsProxy név itt HTTPS-célkapcsolat létesítését jelenti HTTP CONNECT proxyn keresztül. Ez nem utasítás arra, hogy TLS-munkamenetet nyisson magával a proxylistenerrel.
Adja át a testreszabott beállításokat annak a kérésnek vagy készletnek, amely a forgalmat küldi. Ha a beállításokat egy másik készletkonfigurációt használó hívás mellett hozza létre, az a hívás változatlan marad.
Az Akka ezt a transzportot HTTPS-kérésekhez dokumentálja. Tartsa meg a célt valódi HTTPS URI-ként. Egy HTTP-végpont a HTTP-proxylistáról akkor jöhet szóba a transzport számára, ha engedélyezi a szükséges CONNECT-célt. A kiszolgálóoldali bindFlow-továbbítási példa egy másik HTTP-szolgáltatást hoz létre, és más felépítési problémára ad választ.