Nginx v1.27.0-এ HTTP/2 এবং HTTP/3 সমর্থন সক্ষম করা
নমস্কার, আমি অযোগ্য।
একবার ভেবেছিলাম টোকিওতে একটা বাড়ি পেয়েছি, কিন্তু আবার প্রথম থেকে শুরু করতে হলো, আর ইদানীং মনে হচ্ছে একটা ভালো সম্পত্তি খুঁজে পেয়েছি। সবচেয়ে খারাপ হলে, আমি কোনো শেয়ার হাউসে গিয়ে উঠব।
ইদানীং আমি কৃতজ্ঞ যে আমার বর্তমান কর্মস্থলের একই প্রজেক্টের সদস্যরা আমাকে বিদায় সংবর্ধনা দেওয়ার কথা বলেছে।
আমি সত্যিই মনে করি আমার জীবনে আমি মানুষের দ্বারা ধন্য।
যাইহোক, আমি সম্প্রতি Deno-তে একটি পুল রিকোয়েস্ট পাঠিয়েছিলাম এবং তারা একটি মাইলস্টোন সেট করেছে, তাই আমি তাড়াহুড়ো না করে শান্তভাবে সোর্স কোড অনুসরণ করতে পারি। Deno-এর Rust কোড, যা এখন বিশাল পরিমাণে পরিণত হয়েছে, তার জন্য সর্বোত্তম সমাধান খুঁজে বের করা এবং এমনকি তুচ্ছ বৈশিষ্ট্যগুলির জন্যও যতটা সম্ভব কম পরিবর্তন করা কঠিন, কারণ সোর্স কোড নিজেই ম্যানুয়ালের মতো হয়ে গেছে, তাই আমাকে বিভিন্ন জিনিস চেষ্টা করতে হবে।
যদি এটি কাজ না করে, তাহলে তখন ভেবে দেখব।
Nginx-এ HTTP/2 এবং HTTP/3 সমর্থন সক্ষম করা যাক
PHP-এর ডেভেলপার রাসমাস লেরডর্ফের একটি সাক্ষাৎকার পড়েছিলাম, যেখানে তিনি HTTP/2-এর ভবিষ্যৎ নিয়ে কথা বলছিলেন। এটা দেখে আমার মনে হলো, 'আরে, আমার Nginx সার্ভারটা কেমন ছিল?' এবং আমি এটি সক্ষম করার সিদ্ধান্ত নিলাম।
মনে হচ্ছে Nginx-এর HTTP/3 সমর্থন v1.25 বা তার পরের সংস্করণ থেকে শুরু হয়েছে, তাই আমি সংস্করণটি পরীক্ষা করব।
# nginx -v
nginx version: nginx/1.27.0
মনে হচ্ছে এটি সমর্থিত।
আমার Nginx pkg থেকে ইনস্টল করা হয়নি, বরং আমি নিজেই এটি বিল্ড করেছি, তাই একই FreeBSD পরিবেশেও পার্থক্য থাকতে পারে।
বেশি কিছু না ভেবে, আমি আপাতত এটি সক্ষম করার চেষ্টা করব।
conf ফাইলে লেখা
যেহেতু এটি শুধুমাত্র একটি Nginx সার্ভার যা রিভার্স প্রক্সি হিসাবে চলছে, তাই আমি দ্রুত এটি করব।
server {
listen 443 ssl;
listen 443 quic reuseport;
listen [::]:443 quic reuseport;
http2 on;
http3 on;
server_name soulminingrig.com www.soulminingrig.com;
আমার মনে আছে HTTP/3 এমন কিছু যা Google প্রচার করার চেষ্টা করছে, এবং QUIC প্রোটোকল নিজেই Google তৈরি করেছে।
হেডার তথ্যে নিম্নলিখিত যোগ করুন:
add_header Alt-Svc 'h3=":443"; ma=86400';
add_header X-Content-Type-Options nosniff;
তারপর, nginx -t দিয়ে পরীক্ষা করুন এবং যদি কোনো সমস্যা না থাকে, তাহলে রিস্টার্ট করুন।
আমি রুট ইউজার হিসাবে কাজ করছি, তাই নিম্নলিখিত কমান্ড দিয়ে চালান:
service nginx restart
এবং মনে হচ্ছে QUIC নিজেই 443/UDP ব্যবহার করে, তাই আমাকে এই পোর্টটি খুলতে হবে...
অধ্যায় 3: বিস্তারিত HTTP/3 ~ কীভাবে QUIC ব্যবহার করে উচ্চ গতি অর্জন করা যায়
বর্তমানে, অনেক বাস্তবায়ন ডিফল্টরূপে UDP-এর 443 নম্বর পোর্ট ব্যবহার করে বলে মনে হয়।
উপরেরটি দেখলে,
add_header Alt-Svc 'h3=":443"; ma=86400';
যেহেতু 443 নম্বর পোর্ট সেট করা হয়েছে, তাই 443 নম্বর পোর্ট খুলে দিলে এবং পরিবর্তন করার সময় অন্য পোর্ট ব্যবহার করলে ঠিক হবে বলে মনে হচ্ছে।
vim /etc/pf.conf
এখন নিম্নলিখিত যোগ করুন:
set skip on lo
exsrv1 = 167.179.75.206
~~~
# HTTP/3 Protocol
pass in inet proto udp from any to $exsrv1 port 443
এখন, -nf অপশন দিয়ে পরীক্ষা করুন এবং তারপর -f দিয়ে প্রয়োগ করুন।
pfctl -nf /etc/pf.conf
pfctl -f /etc/pf.conf
এটি কি সঠিকভাবে প্রয়োগ করা হয়েছে?
এটি প্রয়োগ করা হয়েছে কিনা তা Curl দিয়ে পরীক্ষা করার একটি উপায় আছে বলে মনে হয়, তবে সাধারণত, আপনার নিজের নেটওয়ার্কের সাথে সম্পর্কিত নয় এমন একটি নেটওয়ার্ক থেকে পরীক্ষা করা ভাল, তাই আমি একটি ব্রাউজার থেকে পরীক্ষা করব।
HTTP/3 চেক

হ্যাঁ, এটি সফল হয়েছে!
অন্যরাও আরও বিস্তারিতভাবে কনফিগার করে, তবে আমি মনে করি আপাতত এইটুকুই যথেষ্ট।
তাহলে। আবার দেখা হবে।