Squid-এর মাধ্যমে WSS সাধারণ WebSocket আপগ্রেডের মতো নয়
ফরওয়ার্ড প্রক্সিতে CONNECT-এর ভিতরের এনক্রিপ্টেড WebSocket আর সাধারণ HTTP Upgrade পরিচালনাকে আলাদা করুন।
Squid কি HTTP Upgrade অনুরোধ দেখে, নাকি শুধু এনক্রিপ্টেড ট্রাফিক বহনকারী একটি টানেল দেখে? এটাই ঠিক করে তার HTTP Upgrade নিয়ন্ত্রণ ব্যর্থতাটি সমাধান করে কি না।
| সাধারণ স্পষ্ট প্রক্সি পথ | Squid যা পায় |
|---|---|
wss:// | সাধারণত CONNECT, তারপর WebSocket হ্যান্ডশেক বহনকারী গন্তব্য TLS |
ws:// | একটি সাধারণ HTTP Upgrade অনুরোধ যা প্রক্সি প্রক্রিয়া করতে পারে |
Squid-এর Upgrade নিয়ন্ত্রণ তার প্রক্রিয়াকৃত অনুরোধগুলোর সাথে সম্পর্কিত। সাধারণ অস্বচ্ছ WSS টানেলের ভিতরে এনক্রিপ্টেড HTTP হেডার এটি প্রকাশ করে না। TLS ইন্টারসেপশন বা অন্য বিশেষ প্রক্সি পরিচালনা দৃশ্যমানতা বদলায় এবং নিজস্ব সামঞ্জস্যের শর্ত আনতে পারে।
WSS-এর ক্ষেত্রে, ক্রমটি কোথায় থামে তা খুঁজুন: প্রক্সির সাথে সংযোগ, গৃহীত CONNECT, যাচাইকৃত TLS, তারপর অ্যাপ্লিকেশন হ্যান্ডশেক। TLS-এর আগে প্রত্যাখ্যান একটি প্রত্যাখ্যাত সাধারণ Upgrade অনুরোধের চেয়ে ভিন্ন ব্যর্থতা।
Upgrade নীতি বদলানো দরকার হলে ইনস্টল করা Squid সংস্করণের নির্দেশিকা ব্যবহার করুন এবং প্রয়োজনীয় আচরণ নির্দিষ্টভাবে অনুমোদন করুন। সব Upgrade প্রোটোকল অনুমোদন করলে নীতি সংশ্লিষ্ট অ্যাপ্লিকেশনের বাইরে বিস্তৃত হয়।
সফল HTTPS পৃষ্ঠা অনুরোধ পথের কেবল একটি অংশ প্রতিষ্ঠা করে। দীর্ঘস্থায়ী WebSocket ট্রাফিক একই হোস্টনামেও অ্যাপ্লিকেশনের শর্ত, সংযোগের আয়ু বা মধ্যস্থতার সীমাবদ্ধতার কারণে ব্যর্থ হতে পারে।