HttpClient 5 ನೊಂದಿಗೆ RestTemplate ಪ್ರಾಕ್ಸಿ ರುಜುವಾತುಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ
Spring 6 RestTemplate ಗೆ ಸಾರಿಗೆಯನ್ನು ನೀಡುವ ಮೊದಲು Apache HttpClient 5 ರುಜುವಾತುಗಳನ್ನು ಪ್ರಾಕ್ಸಿ ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ಗೆ ಮಿತಿಗೊಳಿಸಿ.
ಪ್ರಾಕ್ಸಿ ಲಾಗಿನ್ ಸಾರಿಗೆಯ ರುಜುವಾತು ಪೂರೈಕೆದಾರರಿಗೆ ಸೇರಿದೆ. Spring 6 ಮತ್ತು Apache HttpClient 5 ಜೊತೆಗೆ, ಆ ಖಾತೆಯನ್ನು ಮಧ್ಯವರ್ತಿಗೆ ಮಿತಿಗೊಳಿಸಿ:
var proxy = new org.apache.hc.core5.http.HttpHost(
"http", "proxy.example", 8080);
var credentials = new org.apache.hc.client5.http.impl.auth
.BasicCredentialsProvider();
credentials.setCredentials(
new org.apache.hc.client5.http.auth.AuthScope(proxy),
new org.apache.hc.client5.http.auth.UsernamePasswordCredentials(
proxyUser, proxyPassword.toCharArray()));
var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
.setProxy(proxy)
.setDefaultCredentialsProvider(credentials)
.build();
var factory = new org.springframework.http.client
.HttpComponentsClientHttpRequestFactory(http);
var rest = new org.springframework.web.client.RestTemplate(factory);ಅಪ್ಲಿಕೇಶನ್ proxyUser ಮತ್ತು proxyPassword ಮೌಲ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು HTTP ಕ್ಲೈಂಟ್ನ ಜೀವನಚಕ್ರವನ್ನು ಹೊಂದಿದೆ. ಕರೆ ಸ್ಥಳದಲ್ಲಿ ಇನ್ನೊಂದು ಡೀಫಾಲ್ಟ್ ಟೆಂಪ್ಲೇಟ್ ನಿರ್ಮಿಸುವ ಬದಲು ಕೆಲಸದ ಹೊರೆಗೆ rest ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡಿ.
AuthScope ಈ ರುಜುವಾತುಗಳು ಎಲ್ಲಿ ಅರ್ಹವೆಂದು ಮಿತಿಗೊಳಿಸುತ್ತದೆ. ಉದಾಹರಣೆ ಸಾಮಾನ್ಯ ಬಳಕೆದಾರಹೆಸರು/ಪಾಸ್ವರ್ಡ್ ರುಜುವಾತುಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ; BasicCredentialsProvider ಎಂಬ ಹೆಸರು ಪ್ರತಿ ಸವಾಲಿಗೂ HTTP Basic ಸ್ಕೀಮ್ ಬಳಸಲು ಒತ್ತಾಯಿಸುವುದಿಲ್ಲ.
HTTPS ಗಮ್ಯಸ್ಥಾನದೊಂದಿಗೆ, ಅಪ್ಲಿಕೇಶನ್ನ ಎನ್ಕ್ರಿಪ್ಟ್ ಆದ HTTP ವಿನಂತಿ ಇರುವ ಮೊದಲೇ, ಸಾರಿಗೆಯು CONNECT ಸಮಯದಲ್ಲಿ ಪ್ರಾಕ್ಸಿ ಸವಾಲಿಗೆ ಉತ್ತರಿಸಬಹುದು. Proxy-Authorization ಸೇರಿಸುವ ಸಾಮಾನ್ಯ ಗಮ್ಯಸ್ಥಾನ ಇಂಟರ್ಸೆಪ್ಟರ್ ಆ ಮಾತುಕತೆಗೆ ಸಮಾನವಲ್ಲ.
ಯಾವುದೇ ಗಮ್ಯಸ್ಥಾನ ಖಾತೆಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂರಚಿಸಿ. ಪ್ರಾಕ್ಸಿ ಇನ್ನೂ ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸಿದರೆ, ಅದು ಘೋಷಿಸಿದ ದೃಢೀಕರಣ ಸ್ಕೀಮ್ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ. ಇನ್ನೊಂದು ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಮಿತಿಗೊಳಿಸಿದ ರುಜುವಾತು ಕೇವಲ ಪಾಸ್ವರ್ಡ್ ಸರಿಯಾಗಿರುವುದರಿಂದ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ.