আপনি ডোমেইন কিনেছেন, VPS আছে, আর ব্রাউজার এখনও বলছে "এই সাইটে পৌঁছানো যাচ্ছে না"। অনুপস্থিত অংশটা প্রায় সবসময় দুটো DNS রেকর্ড আর এমন একটা ওয়েব সার্ভার যা সত্যিই সঠিক ঠিকানায় সাড়া দেয়। রেজিস্ট্রার থেকে কাজ করা HTTPS তালা পর্যন্ত পুরো পথ এখানে।
শুরুর আগে: আপনার প্ল্যান কি ওয়েব ট্রাফিক নেয়?
দর্শকরা সার্ভারের পোর্ট 80 আর 443-এ যুক্ত হয়। এর জন্য এমন প্ল্যান লাগে যার নিজস্ব পাবলিক IP আছে। NAT প্ল্যান শুধু আপনার ব্যক্তিগত SSH পোর্ট ফরোয়ার্ড করে, তাই ডোমেইনে সাইট হোস্ট করতে পারে না — আমাদের লেখা ডেডিকেটেড IP নাকি NAT পার্থক্যটা বোঝায়। ছোট সাইট Nano-IP-তে ভালোই চলে।
১. সার্ভারের ঠিকানা খুঁজুন
আপনার IPv4 আর IPv6 ঠিকানা ড্যাশবোর্ডে সার্ভারের পাতায় আছে। উদাহরণে আমরা ডকুমেন্টেশনের ঠিকানা ব্যবহার করছি:
- IPv4:
203.0.113.10 - IPv6:
2001:db8::10
২. DNS রেকর্ড তৈরি করুন
যেখানে আপনার ডোমেইনের DNS আছে (সাধারণত রেজিস্ট্রার) সেখানে লগইন করে যোগ করুন:
| ধরন | নাম | মান | TTL |
|---|---|---|---|
| A | @ | 203.0.113.10 | 300 |
| AAAA | @ | 2001:db8::10 | 300 |
| CNAME | www | example.com. | 300 |
@ মানে মূল ডোমেইন। 300 সেকেন্ডের মতো ছোট TTL ভুল শোধরানো সস্তা করে; সব ঠিকঠাক চললে 3600 করে দিতে পারেন।
এখনই IPv6 না চাইলে আপাতত AAAA রেকর্ড বাদ দিন — ধাপ ৫-এর সতর্কতা দেখুন।
৩. DNS সাড়া দিচ্ছে কিনা দেখুন
রেজিস্ট্রারের "সংরক্ষিত" বার্তায় ভরসা করবেন না। সরাসরি DNS-কে জিজ্ঞেস করুন:
dig +short example.com A
dig +short example.com AAAA
dig +short www.example.com
dig +short example.com A @1.1.1.1
শেষ লাইনটা একটা পাবলিক রিজলভারকে জিজ্ঞেস করে, যা আপনার দর্শকদের দেখা ফলাফলের কাছাকাছি। আপনার IP ফেরত এলে DNS-এর কাজ শেষ।
৪. সার্ভারকে সাড়া দেওয়ান
nginx ইনস্টল করে পোর্ট খুলুন:
apt update && apt install -y nginx
ufw allow 80/tcp
ufw allow 443/tcp
http://example.com খুলুন — nginx-এর স্বাগত পাতা দেখা উচিত। এবার বিনামূল্যের সার্টিফিকেট দিয়ে HTTPS যোগ করুন:
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot nginx কনফিগ সম্পাদনা করে, HTTPS-এ রিডাইরেক্ট সেট করে আর সার্টিফিকেট নিজে থেকে নবায়ন করে। nginx-এর পেছনে আসল অ্যাপের জন্য আমাদের HTTPS সহ reverse proxy গাইড মানুন।
৫. IPv6-এর ফাঁদ
এতে অনেকেই পড়েন। আপনি AAAA রেকর্ড যোগ করলেন, কিন্তু nginx শুধু IPv4-এ শোনে। IPv6-এর দর্শকরা (অনেক মোবাইল নেটওয়ার্ক) আগে IPv6 ঠিকানা চেষ্টা করে ব্যর্থ হন। নিশ্চিত করুন server ব্লকে দুটো লাইনই আছে:
listen 80;
listen [::]:80;
Ubuntu-তে nginx-এর ডিফল্ট কনফিগে [::] আগে থেকেই থাকে, কিন্তু কাস্টম কনফিগে প্রায়ই বাদ পড়ে। IPv6 আছে এমন মেশিন থেকে পরীক্ষা করুন:
curl -6 -I https://example.com
সাধারণ সমস্যা
- পুরোনো IP এখনও দেখাচ্ছে: আপনার লোকাল রিজলভার সেটা ক্যাশ করে রেখেছে। TTL শেষ হওয়া পর্যন্ত অপেক্ষা করুন বা ওপরের মতো
@1.1.1.1-কে জিজ্ঞেস করুন। - Certbot টাইমআউটে ব্যর্থ: পোর্ট 80 আটকানো বা DNS এখনও এখানে নির্দেশ করছে না।
ufw statusআরdigআবার দেখুন। - www ছাড়া চলে, www সহ চলে না: সার্টিফিকেট বা server ব্লকে
wwwনেই। দুটো নাম দিয়ে certbot আবার চালান।
রিভার্স DNS প্রসঙ্গে
A আর AAAA রেকর্ড নাম থেকে IP-তে যায়। রিভার্স DNS (PTR) উল্টো দিকে যায়, আর এটা রেজিস্ট্রারের বদলে ড্যাশবোর্ডে সেট হয়। এটা লাগে শুধু মেইলের জন্য বা যখন কোনো সার্ভিস এটা যাচাই করে — আমাদের PTR গাইড এটা বোঝায়।
প্রথমবার কোনো সাইট অনলাইনে আনলে ওয়েবসাইট ব্যবহারের পাতা আকার বাছতে সাহায্য করে, আর নেটওয়ার্ক ডকুমেন্টেশন জানায় কোন প্ল্যান কোন ঠিকানা পায়।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।