HTTPS ವಿನಂತಿಗಳಿಗಾಗಿ Akka HTTP ನ CONNECT ಸಾಗಣೆ
ಪ್ರಾಕ್ಸಿ ಸಾಗಣೆಯನ್ನು ಸಂಪರ್ಕ-ಪೂಲ್ ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಜೋಡಿಸಿ ಮತ್ತು ಆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸುರಂಗದ ಅಗತ್ಯವಿರುವ ವಿನಂತಿಗೆ ರವಾನಿಸಿ.
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 ಎಂಬ ಹೆಸರು HTTP CONNECT ಪ್ರಾಕ್ಸಿ ಮೂಲಕ HTTPS ಗಮ್ಯಸ್ಥಾನ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುವುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಇದು ಪ್ರಾಕ್ಸಿ ಶ್ರೋತೃದೊಂದಿಗೇ TLS ಅಧಿವೇಶನ ತೆರೆಯುವ ಸೂಚನೆ ಅಲ್ಲ.
ಕಸ್ಟಮೈಜ್ ಮಾಡಿದ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಂಚಾರ ಕಳುಹಿಸುವ ವಿನಂತಿ ಅಥವಾ ಪೂಲ್ಗೆ ರವಾನಿಸಿ. ಬೇರೆ ಪೂಲ್ ಸಂರಚನೆ ಬಳಸುವ ಕರೆಯ ಪಕ್ಕದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿರ್ಮಿಸಿದರೆ ಆ ಕರೆ ಬದಲಾಗದೆ ಉಳಿಯುತ್ತದೆ.
Akka HTTPS ವಿನಂತಿಗಳಿಗಾಗಿ ಈ ಸಾಗಣೆಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ. ಗಮ್ಯಸ್ಥಾನವನ್ನು ಅದರ ನಿಜವಾದ HTTPS URI ಆಗಿ ಇರಿಸಿ. HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ HTTP ಎಂಡ್ಪಾಯಿಂಟ್ ಅಗತ್ಯವಿರುವ CONNECT ಗಮ್ಯಸ್ಥಾನವನ್ನು ಅನುಮತಿಸಿದಾಗ ಸಾಗಣೆಗೆ ಅಭ್ಯರ್ಥಿಯಾಗಿದೆ. ಸರ್ವರ್-ಸೈಡ್ bindFlow ಫಾರ್ವರ್ಡಿಂಗ್ ಉದಾಹರಣೆ ಇನ್ನೊಂದು HTTP ಸೇವೆಯನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಬೇರೆ ನಿರ್ಮಾಣ ಸಮಸ್ಯೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ.