Akka HTTP-ի CONNECT փոխադրումը HTTPS հարցումների համար
Միացրեք proxy փոխադրումը միացումների լողավազանի կարգավորումներին և փոխանցեք այդ կարգավորումները թունելի կարիք ունեցող հարցմանը։
Akka HTTP-ի HTTPS հարցման համար կարգավորեք դրա client transport-ը՝ forward proxy-ի միջոցով CONNECT հաստատելու համար։
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)
Հավելվածը տրամադրում է իր առկա ActorSystem-ը որպես system և պահպանում է սովորական stream-ի և պատասխանի էության կյանքի ցիկլը։ Սպառեք կամ դեն նետեք վերադարձված պատասխանի էությունը ըստ անհրաժեշտության, որպեսզի միացումը կարողանա ազատվել։
httpsProxy անվանումը այստեղ նշանակում է HTTPS նպատակակետի միացման հաստատում HTTP CONNECT proxy-ի միջոցով։ Սա ցուցում չէ TLS սեսիա բացելու հենց proxy-ի լսողի հետ։
Փոխանցեք հարմարեցված կարգավորումները այն հարցմանը կամ լողավազանին, որը ուղարկում է երթևեկությունը։ Եթե կարգավորումները կառուցվում են այլ լողավազանի կոնֆիգուրացիա օգտագործող կանչի կողքին, ապա այդ կանչը մնում է անփոփոխ։
Akka-ն փաստագրում է այս փոխադրումը HTTPS հարցումների համար։ Պահպանեք նպատակակետը որպես դրա իրական HTTPS URI։ HTTP proxy ցանկից HTTP վերջնակետը թեկնածու է փոխադրման համար, երբ այն թույլատրում է պահանջվող CONNECT նպատակակետը։ Սերվերի կողմի bindFlow փոխանցման օրինակը ստեղծում է մեկ այլ HTTP ծառայություն և պատասխանում է այլ կառուցման խնդրի։