PAC নিয়মের ভিতরে DNS ব্যর্থতা সামলানো
ব্যর্থ PAC DNS লুকআপকে লোকাল নেটওয়ার্কের বাইরের যাচাইকৃত ঠিকানা ধরে নেওয়ার বদলে তার জন্য আলাদা নীতি-শাখা রাখুন।
ব্যর্থ লুকআপ প্রমাণ করে না যে গন্তব্যটি আপনার প্রাইভেট নেটওয়ার্কের বাইরে। এটি প্রমাণ করে যে এই PAC মূল্যায়ন তার প্রয়োজনীয় ঠিকানাটি পায়নি।
এই পার্থক্যটি গুরুত্বপূর্ণ যখন dnsResolve() একটি isInNet() নিয়মে ইনপুট দেয়। Chromium-এর PAC বাস্তবায়ন রিজলিউশন ব্যর্থ হলে null ফেরত দেয়। ফলাফল সবসময় খালি স্ট্রিং—এই স্মৃতিকথার উপর ভর করে ব্যর্থতার শাখা গড়বেন না।
function FindProxyForURL(url, host) {
var address = dnsResolve(host);
if (!address) {
return "PROXY proxy.example:8080";
}
if (isInNet(address, "10.40.0.0", "255.255.0.0")) {
return "DIRECT";
}
return "PROXY proxy.example:8080";
}
এই উদাহরণটি অমীমাংসিত নাম প্রক্সিতে পাঠায়। এটি একটি নীতি-সিদ্ধান্ত, সর্বজনীন নিরাপদ ডিফল্ট নয়। প্রক্সির কাছে ক্লায়েন্টের নেই এমন রিজলভার বা নেটওয়ার্ক-দৃশ্য থাকলে এটি কার্যকর হতে পারে। যেসব নেটওয়ার্কে স্থানীয় রিজলিউশন দরকার, তাদের জন্য ভিন্ন স্পষ্ট ফলাফল প্রয়োজন।
একবার রিজলভ করুন এবং ফলাফল পুনরায় ব্যবহার করুন। এতে সিদ্ধান্তটি একটি মানের সঙ্গে বাঁধা থাকে এবং সম্ভাব্য ধীর সহায়ক কল বারবার চালানো এড়ানো যায়।
আসল PAC ভোক্তাও যাচাই করুন। পুরোনো IPv4 সহায়ক এবং সম্প্রসারিত IPv6 সহায়কের চুক্তি আলাদা। একটি ব্রাউজারের বাস্তবায়নে পরীক্ষিত নিয়ম একই PAC URL ব্যবহার করা সব অ্যাপ্লিকেশনে সমর্থন প্রমাণ করে না।
যদি প্রয়োজন শুধু একটি পরিচিত কোম্পানি-সাফিক্স রাউট করা হয়, তবে হোস্টনেম নিয়ম লুকআপ সম্পূর্ণ এড়িয়ে যেতে পারে। ঠিকানা-ভিত্তিক শ্রেণিবিন্যাসে যান যখন ঠিকানাটিই সেই তথ্য যা নীতির সত্যিই দরকার।