Trawsglud CONNECT Akka HTTP ar gyfer ceisiadau HTTPS
Atodwch y trawsglud dirprwyol at osodiadau'r pwll cysylltiadau a phasiwch yr osodiadau hynny i'r cais sydd angen y twnnel.
Ar gyfer cais HTTPS Akka HTTP, ffurfweddwch ei drawsglud cleient i sefydlu CONNECT drwy'r dirprwy flaen:
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)
Mae'r cymhwysiad yn darparu ei ActorSystem presennol fel system ac yn cadw cylch bywyd arferol y ffrwd a'r endid ymateb. Defnyddiwch neu taflwch yr endid ymateb a ddychwelwyd yn briodol er mwyn rhyddhau'r cysylltiad.
Mae'r enw httpsProxy yma yn cyfeirio at sefydlu cysylltiad cyrchfan HTTPS drwy ddirprwy HTTP CONNECT. Nid yw'n gyfarwyddyd i agor sesiwn TLS gyda'r gwrandawr dirprwy ei hun.
Pasiwch yr osodiadau wedi'u haddasu i'r cais neu'r pwll sy'n anfon y traffig. Mae adeiladu osodiadau wrth ymyl galwad sy'n defnyddio ffurfweddiad pwll arall yn gadael y alwad honno heb ei newid.
Mae Akka yn dogfennu'r trawsglud hwn ar gyfer ceisiadau HTTPS. Cadwch y gyrchfan fel ei gwir URI HTTPS. Mae pen terfyn HTTP o'r rhestr dirprwyon HTTP yn ymgeisydd ar gyfer y trawsglud pan fydd yn caniatáu'r gyrchfan CONNECT gofynnol. Mae enghraifft anfon bindFlow ar ochr y gweinydd yn creu gwasanaeth HTTP arall ac yn ateb problem adeiladu wahanol.