CH-J Server ManagerSSH-এর মাধ্যমে সার্ভার ব্যবস্থাপনা
মেনু
সব নির্দেশিকা ও নিবন্ধ →

HTTP/3 ও QUIC সত্যিই কাজ করছে কি না যাচাই করার উপায়

Alt-Svc হেডার কেন প্রমাণ নয়, NGINX ও ফায়ারওয়ালে কী পরীক্ষা করবেন এবং প্রকৃত QUIC স্থানান্তর কীভাবে নিশ্চিত করবেন।

সমর্থনের ঘোষণা মানেই কাজ করা নয়

সার্ভার Alt-Svc রেসপন্স হেডারে HTTP/3-এর সমর্থন ঘোষণা করে, যা ক্লায়েন্ট HTTP/1.1 বা HTTP/2 দিয়ে পায়। হেডারটি কেবল একটি প্রতিশ্রুতি। HTTP/3 চলে UDP-র ওপর QUIC দিয়ে, তাই UDP পুরোপুরি বন্ধ থাকলেও পেজ স্বাভাবিকভাবে লোড হতে পারে, আর ব্রাউজার নীরবে যে প্রোটোকল ব্যবহার করতে থাকে তা হলো HTTP/2.

curl -sI https://server.example/ | grep -i alt-svc

প্রকৃত স্থানান্তর নিশ্চিত করুন

শুধু QUIC দিয়ে সম্পন্ন অনুরোধই নিশ্চিত করে HTTP/3. HTTP/3 সমর্থনসহ বিল্ড করা curl ব্যবহার করুন; অনেক সিস্টেম প্যাকেজে এই সমর্থন নেই, সে ক্ষেত্রে বিকল্পটি প্রত্যাখ্যাত হয়, যা সার্ভার সম্পর্কে কিছুই বলে না। ব্রাউজারে ডেভেলপার টুল খুলে প্রোটোকল কলাম দেখুন, যেখানে এমন অনুরোধের জন্য h3 দেখায়। প্রথমবার পেজে গেলে ব্রাউজার HTTP/2 ব্যবহার করতে পারে, তাই পেজ আবার লোড করুন।

curl -V | grep -i http3
curl -sS --http3-only -o /dev/null -w '%{http_version}\n' https://server.example/

NGINX কনফিগারেশন পরীক্ষা করুন

NGINX-এর TCP লিসেনারের পাশাপাশি QUIC লিসেনারও দরকার এবং এর সংস্করণ ও বিল্ডে সেই সমর্থন থাকতে হবে। TLS 1.3 আবশ্যক, কারণ QUIC সরাসরি এটি ব্যবহার করে। রিলোড করার আগে কনফিগারেশন পরীক্ষা করুন। Alt-Svc-তে ma মান হলো কত সেকেন্ড ক্লায়েন্টরা এই প্রতিশ্রুতি মনে রাখবে, তাই পরীক্ষার সময় কম মান ব্যবহার করুন।

listen 443 ssl;
listen 443 quic reuseport;
http2 on;
add_header Alt-Svc 'h3=":443"; ma=300' always;

nginx -V 2>&1 | grep -o with-http_v3_module
sudo nginx -t

পুরো পথে UDP 443 খুলুন

ব্যর্থতার সবচেয়ে সাধারণ কারণ এমন ফায়ারওয়াল যা TCP 443 অনুমোদন করে কিন্তু UDP 443 করে না। সার্ভার এবং সব বাহ্যিক ফিল্টার পরীক্ষা করুন। সকেট শুনছে কি না তা সার্ভারেই নিশ্চিত করা যায়। কিছু কর্পোরেট ও পাবলিক নেটওয়ার্ক ইচ্ছাকৃতভাবে QUIC বন্ধ রাখে, তাই একটি নেটওয়ার্ক থেকে পরীক্ষা ব্যর্থ হলেই সার্ভারের ত্রুটি প্রমাণিত হয় না: অন্য নেটওয়ার্ক থেকে আবার পরীক্ষা করুন।

sudo ss -lunp | grep ':443'
sudo ufw allow 443/udp
sudo tcpdump -ni any udp port 443

নতুন প্রোটোকল কি দ্রুততর?

প্যাকেট হারায় বা নেটওয়ার্ক বদলায় এমন সংযোগে HTTP/3 সবচেয়ে বেশি সাহায্য করে, কারণ একটি প্যাকেট হারালেও অন্য স্ট্রিমগুলো আটকে যায় না। ভালো তারযুক্ত সংযোগে পার্থক্য কম হতে পারে এবং সার্ভারে CPU ব্যবহার বেশি হতে পারে। উন্নতি হবে ধরে না নিয়ে নিজের পরিস্থিতিতে মাপুন এবং যেসব ক্লায়েন্ট UDP ব্যবহার করতে পারে না তাদের জন্য HTTP/2 চালু রাখুন।

CH-J Server Manager-এ HTTP/3 পরীক্ষা

Server Diagnostics-এর সঙ্গে HTTP ক্লায়েন্ট দেওয়া থাকে, তাই পরীক্ষা সিস্টেমের curl-এর ওপর নির্ভর করে না। QUIC স্থানান্তর সম্পন্ন হলেই কেবল এটি HTTP/3 নিশ্চিত হয়েছে বলে জানায় এবং Alt-Svc-কে শুধু সমর্থনের ঘোষণা হিসেবে ধরে। UDP টাইমআউট হলে এটি জানায় যে সার্ভারের সমর্থন এখনো যাচাই করা যায়নি, কারণ সমস্যা আপনার ও সার্ভারের মাঝের নেটওয়ার্কে থাকতে পারে। অন্য প্রোটোকলে ফিরে যাওয়াকে এটি সফলতা হিসেবে গণ্য করে না।

বিস্তারিত ডকুমেন্টেশন

RFC 9114: HTTP/3 →

NGINX: QUIC and HTTP/3 →

বায়োমেট্রিক আনলক ও নিরাপত্তা →