Java প্ৰক্সিৰ 407 ত্ৰুটি: CONNECTৰ বাবে Basic প্ৰমাণীকৰণ পৰীক্ষা কৰক
Javaৰ প্ৰৱেশ তথ্য কেৱল নিৰ্দিষ্ট প্ৰক্সিত সীমাবদ্ধ ৰাখক আৰু HTTPS CONNECT টানেলৰ বাবে JDKৰ পৃথক Basic প্ৰমাণীকৰণ নীতি পৰীক্ষা কৰক।
বাৰে বাৰে 407 পোৱাৰ অৰ্থ সদায় Javaই ভুল পাছৱৰ্ড পঠিয়াইছে বুলি নহয়। JDKৰ ৰেফাৰেন্স ৰূপায়ণে সাধাৰণতে HTTPS CONNECT টানেলৰ বাবে Basic প্ৰমাণীকৰণ নিষ্ক্ৰিয় কৰি ৰাখে। কেৱল Basic আগবঢ়োৱা প্ৰক্সি আপোনাৰ প্ৰমাণীকৰণ callbackএ প্ৰৱেশ তথ্য দিয়াৰ আগতেই প্ৰত্যাখ্যাত হ’ব পাৰে।
প্ৰৱেশ তথ্যৰ callbackৰ পৰিসৰ সীমিত ৰাখক
Java HTTP ক্লায়েণ্টত এটা Authenticator সংযুক্ত কৰক আৰু তাক কনফিগাৰ কৰা প্ৰক্সিলৈ সীমিত ৰাখক:
String proxyHost = "203.0.113.10";
int proxyPort = 8080;
String password = System.getenv("PROXY_PASSWORD");
if (password == null) {
throw new IllegalStateException("Set PROXY_PASSWORD");
}
java.net.Authenticator auth = new java.net.Authenticator() {
@Override
protected java.net.PasswordAuthentication getPasswordAuthentication() {
if (getRequestorType() == RequestorType.PROXY
&& proxyHost.equals(getRequestingHost())
&& proxyPort == getRequestingPort()) {
return new java.net.PasswordAuthentication(
"proxy-user", password.toCharArray());
}
return null;
}
};
java.net.http.HttpClient client = java.net.http.HttpClient.newBuilder()
.proxy(java.net.ProxySelector.of(
new java.net.InetSocketAddress(proxyHost, proxyPort)))
.authenticator(auth)
.connectTimeout(java.time.Duration.ofSeconds(5))
.build();
এইটো এটা ক্লায়েণ্টৰ ছেটআপ ক’ড, গোলকীয় ডিফল্ট প্ৰমাণীকৰণকাৰী নহয়। নথিপত্ৰৰ বাবে দিয়া ঠিকনাটো সলনি কৰক আৰু সেই সেৱাৰ বাবে সঁচাকৈ দিয়া প্ৰৱেশ তথ্য ব্যৱহাৰ কৰক। অনুৰোধকাৰীৰ ধৰণ আৰু এণ্ডপইণ্ট পৰীক্ষাই একেটা callbackএ ৱেবছাইটৰ প্ৰমাণীকৰণ আহ্বানত অসাৱধানতাৰে প্ৰক্সি একাউণ্ট আগবঢ়োৱাত বাধা দিয়ে।
প্ৰমাণীকৰণৰ কোনটো স্তৰ বিফল হৈছে পৰীক্ষা কৰক
সাধাৰণ HTTP প্ৰক্সি ব্যৱহাৰ আৰু CONNECT টানেলৰ বাবে JDKত নিষ্ক্ৰিয় প্ৰমাণীকৰণ পদ্ধতিৰ পৃথক ছেটিং আছে। সংশ্লিষ্ট নামবোৰ হ’ল jdk.http.auth.proxying.disabledSchemes আৰু jdk.http.auth.tunneling.disabledSchemes।
ইয়াৰ বাবেই HTTP ট্ৰেফিকৰ প্ৰমাণীকৰণ সফল হ’লেও একেটা প্ৰক্সিৰে HTTPS টানেল বিফল হ’ব পাৰে। আন মেচিনতো একে কাৰ্যকৰী ডিফল্ট আছে বুলি ধৰি লোৱাৰ সলনি ৰানটাইমৰ conf/net.properties আৰু মোতায়েন নীতি পৰীক্ষা কৰক।
নিষ্ক্ৰিয় পদ্ধতিৰ তালিকা সকলোৰে বাবে খালী কৰাটো প্ৰক্সি মেৰামতিৰ সাধাৰণ উপায় নহয়। অসংকেতিত HTTP প্ৰক্সিলৈ পঠিওৱা Basic প্ৰৱেশ তথ্য গন্তব্যৰ সৈতে পিছত গঢ়া TLS সংযোগে সুৰক্ষিত নকৰে। পৰিৱৰ্তন অনুমোদন কৰাৰ আগতে প্ৰক্সিৰ পৰিবহণ, প্ৰমাণীকৰণ পদ্ধতি আৰু মোতায়েন নীতি পৰ্যালোচনা কৰক।
JDKৰ অন্তৰ্নিৰ্মিত প্ৰমাণীকৰণৰ নথিভুক্ত আচৰণো প্ৰক্সিয়ে ঘোষণা কৰা প্ৰতিটো পদ্ধতি সমৰ্থন কৰাৰ প্ৰতিশ্ৰুতি নহয়। হাতেৰে দিয়া Authorization বা Proxy-Authorization হেডাৰে স্বয়ংক্ৰিয় প্ৰমাণীকৰণকাৰীৰ প্ৰবাহ সলনি কৰে; সেয়ে callbackৰ আচৰণ উদাহৰণতকৈ বেলেগ হ’লে কাষ্টম হেডাৰ পৰীক্ষা কৰক।