Akka HTTP యొక్క HTTPS అభ్యర్థన కోసం, forward proxy ద్వారా CONNECT ఏర్పడేలా దాని client transport ను కాన్ఫిగర్ చేయండి:

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 మరియు response-entity జీవితచక్రాన్ని నిలుపుకుంటుంది. కనెక్షన్ విడుదల అయ్యేలా తిరిగి వచ్చిన response entity ను తగిన విధంగా వినియోగించండి లేదా విస్మరించండి.

ఇక్కడ httpsProxy అనే పేరు HTTP CONNECT proxy ద్వారా HTTPS గమ్యస్థాన కనెక్షన్‌ను ఏర్పాటు చేయడాన్ని సూచిస్తుంది. ఇది proxy listener కే TLS సెషన్ తెరవాలని చెప్పే సూచన కాదు.

అనుకూలీకరించిన సెట్టింగ్‌లను ట్రాఫిక్ పంపే అభ్యర్థన లేదా pool కు పంపండి. వేరే pool కాన్ఫిగరేషన్ ఉపయోగించే కాల్ పక్కన సెట్టింగ్‌లను నిర్మించడం ఆ కాల్‌ను మార్చదు.

Akka ఈ రవాణాను HTTPS అభ్యర్థనల కోసం డాక్యుమెంట్ చేస్తుంది. గమ్యస్థానాన్ని దాని నిజమైన HTTPS URI గా ఉంచండి. HTTP proxy జాబితా నుండి HTTP endpoint అవసరమైన CONNECT గమ్యస్థానాన్ని అనుమతించినప్పుడు రవాణాకు అభ్యర్థి. సర్వర్ వైపు bindFlow forwarding ఉదాహరణ మరో HTTP సేవను సృష్టించి వేరే నిర్మాణ సమస్యకు సమాధానమిస్తుంది.

సంబంధిత వ్యాసాలు