Akka HTTP-ის CONNECT ტრანსპორტი HTTPS მოთხოვნებისთვის
მიამაგრეთ პროქსის ტრანსპორტი კავშირების აუზის პარამეტრებს და გადასცეთ ეს პარამეტრები მოთხოვნას, რომელსაც გვირაბი სჭირდება.
Akka HTTP-ის HTTPS მოთხოვნისთვის დააკონფიგურირეთ კლიენტის ტრანსპორტი, რომ 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-ად აწვდის და ინარჩუნებს ნაკადისა და პასუხის ერთეულის ჩვეულ სასიცოცხლო ციკლს. მოიხმარეთ ან გადააგდეთ დაბრუნებული პასუხის ერთეული სათანადოდ, რათა კავშირი გათავისუფლდეს.
სახელი httpsProxy აქ ნიშნავს HTTPS დანიშნულების კავშირის დაფუძნებას HTTP CONNECT პროქსის მეშვეობით. ეს არ არის მითითება TLS სესიის გახსნაზე თავად პროქსის მსმენელთან.
გადასცეთ მორგებული პარამეტრები მოთხოვნას ან აუზს, რომელიც ტრაფიკს აგზავნის. თუ პარამეტრებს ააგებთ სხვა აუზის კონფიგურაციის მქონე გამოძახების გვერდით, ეს გამოძახება უცვლელი დარჩება.
Akka ამ ტრანსპორტს HTTPS მოთხოვნებისთვის ადასტურებს. შეინარჩუნეთ დანიშნულება მის ნამდვილ HTTPS URI-ად. HTTP საბოლოო წერტილი HTTP პროქსების სიიდან ტრანსპორტის კანდიდატია, როცა ის საჭირო CONNECT დანიშნულებას უშვებს. სერვერის მხრიდან bindFlow გადაგზავნის მაგალითი ქმნის სხვა HTTP სერვისს და პასუხობს სხვა აგების პრობლემას.