HTTP CONNECT: HTTP প্রক্সি কীভাবে HTTPS সামলায়
HTTP প্রক্সি দিয়ে HTTPS অনুরোধের পথ অনুসরণ করুন, CONNECT-এর প্রতিক্রিয়া থেকে মূল সার্ভারের প্রতিক্রিয়া আলাদা করুন এবং টানেল কোথায় ব্যর্থ হচ্ছে খুঁজুন।
“200 Connection Established” মানে প্রক্সি টানেলটি গ্রহণ করেছে। ওয়েবসাইট এখনও কোনো পৃষ্ঠা ফেরত দেয়নি। এরপর গন্তব্যের সঙ্গে TLS হয়, তারপর আসল HTTPS অনুরোধ পাঠানো হয়।
প্রক্সি সংযোগ থেকে ওয়েবসাইটের প্রতিক্রিয়া পর্যন্ত
- ক্লায়েন্ট প্রক্সির এন্ডপয়েন্টে যুক্ত হয়।
- প্রক্সিকে গন্তব্যের হোস্ট ও পোর্টে যুক্ত হতে বলে।
- প্রক্সি সেই অনুরোধ গ্রহণ বা প্রত্যাখ্যান করে।
- গ্রহণের পর ক্লায়েন্ট টানেলের মধ্য দিয়ে গন্তব্যের সঙ্গে TLS সমঝোতা করে।
- ক্লায়েন্ট HTTPS অনুরোধ পাঠায় এবং ওয়েবসাইটের প্রতিক্রিয়া TLS-এর ভেতরে পায়।
প্রক্সি সংযোগ প্রত্যাখ্যান, টানেল প্রত্যাখ্যান এবং সার্টিফিকেটের ত্রুটি এই ধারার আলাদা আলাদা জায়গায় ঘটে। সেটিং বদলানোর আগে শেষ কোন ধাপটি সম্পন্ন হয়েছে তা খুঁজুন।
CONNECT-এর আদান-প্রদান
HTTP/1.1-এ সরলীকৃত আদান-প্রদান এমন:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
অনুরোধের লক্ষ্য হোস্ট ও পোর্ট, ওয়েবসাইটের পাথ বা কোয়েরি নয়। সফল CONNECT প্রতিক্রিয়ার পর সংযোগটি টানেলের বাইট বহন করে। HTTPS গন্তব্যের জন্য ক্লায়েন্টের পরবর্তী আদান-প্রদান হলো TLS হ্যান্ডশেক।
ইংরেজি কারণ-বাক্য হুবহু মেলানোর বদলে সংখ্যার স্ট্যাটাস পড়ুন। একই স্ট্যাটাসের জন্য প্রক্সি ভিন্ন লেখা ব্যবহার করতে পারে।
curl দিয়ে দেখুন
স্থানীয় পোর্ট 8080-এ HTTP প্রক্সির জন্য:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/শোনার ঠিকানাটি আপনার এন্ডপয়েন্ট দিয়ে বদলান; প্রার্থী দরকার হলে HTTP প্রক্সির তালিকা দেখুন এবং বেছে নেওয়া এন্ট্রি পরীক্ষা করুন। খালি বাইপাস তালিকা নিশ্চিত করে যে এই কল প্রক্সি বেছে নেয়। সময়ের ক্রমে প্রক্সি সংযোগ, CONNECT প্রতিক্রিয়া, গন্তব্যের সার্টিফিকেট যাচাই এবং ওয়েবসাইটের প্রতিক্রিয়া খুঁজুন। লগের নির্দিষ্ট শব্দ curl-এর বিল্ডের ওপর নির্ভর করে।
প্রক্সি টানেল গ্রহণ করার পর গন্তব্য 404, 429 বা 500 ফেরত দিতে পারে। কোনো HTTP প্রতিক্রিয়া ফেরত দেওয়ার আগেই TLS চলাকালেও ব্যর্থ হতে পারে।
কোথায় থেমেছে?
| যা দেখা গেছে | এরপর যা খুঁজবেন |
|---|---|
| প্রক্সির সঙ্গে সংযোগ প্রত্যাখ্যাত হয় | প্রক্সির ঠিকানা, শোনার পোর্ট, প্রক্রিয়া ও নেটওয়ার্কে প্রবেশাধিকার। |
| প্রক্সি 407 ফেরত দেয় | প্রক্সির অ্যাকাউন্ট ও প্রমাণীকরণ পদ্ধতি। |
| প্রক্সি গন্তব্য বা পোর্ট প্রত্যাখ্যান করে | প্রবেশ নীতি ও অনুমোদিত CONNECT গন্তব্য। |
| টানেল খোলে, তারপর TLS যাচাই ব্যর্থ হয় | গন্তব্যের নাম, ট্রাস্ট স্টোর, ঘড়ি এবং কোনো পরিচালিত TLS ইন্টারসেপশন। |
| TLS সফল হয় এবং ওয়েবসাইট ত্রুটি ফেরত দেয় | ওয়েবসাইটের প্রতিক্রিয়া। |
তুলনা করতে এক দিক অপরিবর্তিত রাখুন: একই প্রক্সি দিয়ে অন্য গন্তব্য চেষ্টা করুন, অথবা অনুমোদিত সরাসরি পথে একই গন্তব্যের সঙ্গে তুলনা করুন।
টানেলেরও একজন পরিচালনাকারী আছে
প্রক্সি CONNECT গন্তব্য জানে এবং ট্র্যাফিকের সময় ও পরিমাণ সামলায়। সাধারণ এন্ড-টু-এন্ড TLS ওয়েবসাইটের অ্যাপ্লিকেশন বিষয়বস্তুকে এমন প্রক্সির হাত থেকে রক্ষা করে, যা ওই TLS সেশন নিজের কাছে শেষ করে না। ক্লায়েন্টের বিশ্বস্ত, পরিচালিত ইন্টারসেপশন প্রক্সিতে আস্থার সম্পর্ক আলাদা।