এতদিন আমাদের সাইট চলছিল my-first-site.pages.dev-এর মতো একটা ফ্রি সাবডোমেইনে। কিন্তু একটা প্রফেশনাল প্রজেক্টে নিজের ডোমেইন দরকার — যেমন pathokghar.com। এই পর্বে শিখব কীভাবে নিজের ডোমেইন Cloudflare Pages-এর সাথে যুক্ত করতে হয়, আর এর পেছনে DNS আসলে কীভাবে কাজ করে।
DNS কী — এক লাইনে
DNS (Domain Name System) হলো ইন্টারনেটের ফোনবুক — মানুষ মনে রাখে pathokghar.com-এর মতো নাম, কিন্তু কম্পিউটার আসলে যোগাযোগ করে IP address দিয়ে (যেমন 104.21.xx.xx)। DNS রেকর্ড বলে দেয় — এই নামের পেছনে আসলে কোন ঠিকানায় যেতে হবে।
গুরুত্বপূর্ণ DNS রেকর্ড টাইপ
| রেকর্ড | কাজ | উদাহরণ |
|---|---|---|
A |
ডোমেইনকে সরাসরি একটা IPv4 ঠিকানায় নির্দেশ করে | arifstack.com → 192.0.2.1 |
CNAME |
একটা ডোমেইনকে আরেকটা ডোমেইনের নামে নির্দেশ করে | www.arifstack.com → my-first-site.pages.dev |
MX |
ডোমেইনের ইমেইল কোথায় যাবে তা ঠিক করে | arifstack.com → Google Workspace মেইল সার্ভার |
TXT |
যাচাইকরণ ও অতিরিক্ত তথ্যের জন্য (ভেরিফিকেশন, SPF) | google-site-verification=xyz... |
ধাপ ১ — ডোমেইন Cloudflare-এ যোগ করা
ডোমেইন যদি অন্য কোথাও কেনা থাকে (যেমন Namecheap, GoDaddy), তাহলে সেটার DNS ম্যানেজমেন্ট Cloudflare-এ নিয়ে আসতে হবে।
- Cloudflare Dashboard-এ Add a Site চাপুন
- নিজের ডোমেইন লিখুন (যেমন
arifstack.com) - Cloudflare স্বয়ংক্রিয়ভাবে বর্তমান DNS রেকর্ড স্ক্যান করে দেখাবে
- Cloudflare দুইটা Nameserver দেবে (যেমন
ana.ns.cloudflare.com) - যেখান থেকে ডোমেইন কেনা হয়েছে (রেজিস্ট্রার), সেখানে গিয়ে ডিফল্ট Nameserver বদলে Cloudflare-এর দেওয়া দুটো বসাতে হবে
নোট: Nameserver বদলানোর পর পুরো বিশ্বজুড়ে সব জায়গায় আপডেট হতে সাধারণত কয়েক ঘণ্টা থেকে সর্বোচ্চ ২৪-৪৮ ঘণ্টা লাগতে পারে — এটাকে বলে DNS Propagation।
ধাপ ২ — Pages প্রজেক্টে Custom Domain যুক্ত করা
ডোমেইন Cloudflare-এ চলে এলে (Nameserver একটিভ হলে), এবার সেটাকে নির্দিষ্ট Pages প্রজেক্টের সাথে জোড়া লাগানো।
- Workers & Pages-এ নিজের প্রজেক্টে যান
- Custom domains ট্যাবে যান
- Set up a custom domain চাপুন
- ডোমেইন লিখুন (যেমন
arifstack.comঅথবাwww.arifstack.com) - Cloudflare স্বয়ংক্রিয়ভাবে দরকারি CNAME রেকর্ড বসিয়ে দেবে, কারণ ডোমেইন আগে থেকেই Cloudflare-এ আছে
root domain vs www — কোনটা ব্যবহার করবেন
arifstack.com (root/apex domain) আর www.arifstack.com — দুটোই আলাদা। সাধারণত একটাকে মূল রাখা হয়, আরেকটা থেকে রিডাইরেক্ট করা হয়। Cloudflare Pages-এ দুটোই Custom domain হিসেবে যোগ করে একটা থেকে আরেকটায় রিডাইরেক্ট সেট করা যায়।
// উদাহরণ DNS রেকর্ড, দুটো ডোমেইনই Pages প্রজেক্টে যুক্ত Type: CNAME Name: @ Target: my-first-site.pages.dev Type: CNAME Name: www Target: my-first-site.pages.dev
@ মানে root domain নিজেই (arifstack.com), Cloudflare-এ এভাবে root domain-এও CNAME ব্যবহার করা যায় — এটা Cloudflare-এর একটা বিশেষ সুবিধা (CNAME flattening), সাধারণ DNS প্রোভাইডারে root domain-এ CNAME বসানো যায় না।
SSL — স্বয়ংক্রিয়ভাবে HTTPS
Custom domain যোগ করার পর Cloudflare নিজে থেকেই একটা ফ্রি SSL সার্টিফিকেট ইস্যু করে, সাধারণত কয়েক মিনিটের মধ্যে। এতে সাইট স্বয়ংক্রিয়ভাবে http://-এর বদলে https://-এ চলে যায় — কোনো বাড়তি কনফিগারেশন লাগে না।
ইন্টারেক্টিভ — DNS রেজলিউশন দেখো
নিচে একটা ডোমেইন টাইপ করলে দেখো ব্রাউজার কীভাবে ধাপে ধাপে সঠিক সার্ভার খুঁজে বের করে।
সাধারণ সমস্যা ও সমাধান
- সাইট লোড হচ্ছে না — Nameserver ঠিকমতো বসানো হয়েছে কিনা যাচাই করুন, propagation-এর জন্য অপেক্ষা করুন
- SSL এরর দেখাচ্ছে — SSL সার্টিফিকেট ইস্যু হতে কয়েক মিনিট সময় লাগে, একটু অপেক্ষা করে আবার চেষ্টা করুন
- www কাজ করছে কিন্তু root domain করছে না (বা উল্টো) — দুটো আলাদা Custom domain হিসেবে যোগ করা হয়েছে কিনা চেক করুন
- পুরনো ইমেইল কাজ করছে না ডোমেইন Cloudflare-এ আনার পর — MX রেকর্ড ঠিকমতো কপি হয়েছে কিনা Cloudflare-এর DNS ট্যাবে চেক করুন
নিজে চেষ্টা করো
Exercise:
- নিজের একটা ডোমেইন থাকলে (বা একটা ফ্রি টেস্ট ডোমেইন নিয়ে) সেটা Cloudflare-এ যোগ করো, Nameserver বদলে দাও।
- নিজের Pages প্রজেক্টে Custom domain যোগ করো, SSL সার্টিফিকেট ইস্যু হওয়া পর্যন্ত অপেক্ষা করো।
- Cloudflare-এর DNS ট্যাবে গিয়ে A, CNAME, TXT — বিভিন্ন রেকর্ড টাইপ চিহ্নিত করো, প্রতিটার কাজ কী তা নিজের ভাষায় লেখো।
- root domain থেকে www-এ (বা উল্টোদিকে) একটা রিডাইরেক্ট সেট করে দেখো।
পরের পর্বে যা থাকছে
এতদিন আমরা শুধু স্ট্যাটিক সাইট হোস্ট করেছি। পরের পর্ব থেকে আমরা ঢুকব Workers-এর জগতে — সার্ভারলেস ফাংশন কী, কীভাবে প্রথম Worker লিখতে হয়, আর এটা Pages থেকে কীভাবে আলাদা।