কম্পিউটার টিউটোরিয়াল

Let's Encrypt থেকে ফ্রি 와일্ডকার্ড SSL সার্টিফিকেট পাওয়ার পদ্ধতি

আজকাল ওয়েব ট্রাফিকের বড় অংশ HTTPS ব্যবহার করে এনক্রিপ্টেড। Let's Encrypt-র সূচনা után এটি আরও প্রচলিত হয়েছে, যেটি ইন্ডাস্ট্রির বড় কোম্পানিগুলোর সমর্থনপ্রাপ্ত একটি সার্টিফিকেট অথরিটি (CA)। Let's Encrypt সম্পূর্ণ ফ্রিতে SSL/TLS সার্টিফিকেট প্রদান করে ৯০ দিনের বৈধতার সাথে।

সাধারণত সার্টিফিকেটগুলো এক বা একাধিক নির্দিষ্ট ডোমেন নেমের সাথে বাঁধা থাকে, তাই আপনার "www.example.com" এর জন্য সার্টিফিকেট থাকলে আপনি শুধু এই এক্সাক্ট ডোমেনে ব্যবহার করতে পারেন। অন্যদিকে, 와일্ডকার্ড সার্টিফিকেট প্যারেন্ট ডোমেন নেমের জন্য ইস্যু হয় এবং প্যারেন্ট ডোমেনের যেকোনো সাবডোমেনে ব্যবহার করা যায়। উদাহরণস্বরূপ, *.example.com-এর জন্য একটি 와일্ডকার্ড সার্টিফিকেট "www.example.com", "account.example.com", "mail.example.com" ইত্যাদিতে ব্যবহার করা যায়। 와일্ডকার্ড সার্টিফিকেট সুবিধা দেয় শুধু একটি সার্টিফিকেট পাওয়া ও রিনিউ করতে হয় আপনার বর্তমান ও ভবিষ্যতের সব সাবডোমেনের জন্য।

নিচে Ubuntu, Debian এবং অন্যান্য Debian-ভিত্তিক ডিস্ট্রিবিউশনে Let's Encrypt থেকে রেজিস্টার্ড ডোমেনের জন্য 와일্ডকার্ড সার্টিফিকেট পাওয়ার পদ্ধতি দেওয়া হলো।

১. acme.sh ইনস্টল করা

Let's Encrypt অটোমেটেড সার্টিফিকেট ম্যানেজমেন্ট এনভায়রনমেন্ট (ACME) প্রোটোকল ব্যবহার করে আপনার ডোমেন মালিকানা যাচাই করে এবং সার্টিফিকেট ইস্যু/রিনিউ করে। Acme.sh একটি জনপ্রিয় ACME ক্লায়েন্ট যা শেল স্ক্রিপ্টে ইমপ্লিমেন্টেড। ইনস্টল করতে প্রথমে git ইনস্টল করতে হবে:

sudo apt update
sudo apt install -y git

GitHub থেকে রিপোজিটরি ক্লোন করুন:

git clone https://github.com/Neilpang/acme.sh.git

ক্লোন করা ডিরেক্টরিতে যেয়ে ইনস্টলেশন স্ক্রিপ্ট চালু করুন:

cd acme.sh/
./acme.sh --install

শেল সেশন রিলোড করুন acme.sh ব্যবহার শুরু করতে:

exec bash

২. acme.sh দিয়ে 와일্ডকার্ড সার্টিফিকেট ইস্যু করা

Let's Encrypt-র থেকে 와일্ডকার্ড সার্টিফিকেট পাওয়ার জন্য আপনাকে একটি DNS-ভিত্তিক চ্যালেঞ্জ সমাধান করতে হবে যাকে ডোমেন ভ্যালিডেশন (DV) বলে। Acme.sh অনেক বড় DNS প্রোভাইডারের API-এর সাথে ইন্টিগ্রেটেড এবং এই প্রসেস সম্পূর্ণ অটোমেট করে।

Cloudflare

আপনি যদি Cloudflare-এর DNS সার্ভিস ব্যবহার করেন, অ্যাকাউন্টে লগইন করে গ্লোবাল API কী কপি করুন। সেটি এনভায়রনমেন্ট ভেরিয়েবল হিসেবে সেভ করুন:

export CF_Key="your_cloudflare_api_key"
export CF_Email="your_cloudflare_email_address"

এখন 와일্ডকার্ড সার্টিফিকেট অনুরোধ করুন:

acme.sh --issue --dns dns_cf -d '*.example.org'

NameCheap

NameCheap नेमসার্ভার ব্যবহার করলে তাদের API এক্সেস ইনেবল করার ইনস্ট্রাকশন ফলো করুন, তারপর প্রয়োজনীয় ভেরিয়েবল এক্সপোর্ট করুন:

export NAMECHEAP_SOURCEIP="your_server_ip"
export NAMECHEAP_USERNAME="your_namecheap_username"
export NAMECHEAP_API_KEY="your_namecheap_api_key"

와일্ডকার্ড সার্টিফিকেট অনুরোধ করুন:

acme.sh --issue --dns dns_namecheap -d '*.example.org'

DigitalOcean

আপনার ডোমেন যদি DigitalOcean-এর DNS ব্যবহার করে, তাদের ইনস্ট্রাকশন অনুযায়ী রিড ও রাইট পারমিশনসহ পারসোনাল অ্যাক্সেস টোকেন তৈরি করুন। API কী/টোকেন এক্সপোর্ট করুন:

export DO_API_KEY="your_digitalocean_api_token"

와일্ডকার্ড সার্টিফিকেট অনুরোধ করুন:

acme.sh --issue --dns dns_dgon -d '*.example.org'

GoDaddy

GoDaddy DNS ব্যবহার করলে API কী ও সিক্রেট কপি করে এনভায়রনমেন্টে এক্সপোর্ট করুন:

export GD_Key="your_godaddy_api_key"
export GD_Secret="your_godaddy_api_secret"

와일্ডকার্ড সার্টিফিকেট অনুরোধ করুন:

acme.sh --issue --dns dns_gd -d '*.example.org'

Vultr

Vultr DNS ব্যবহার করলে আপনাকে পারসোনাল অ্যাক্সেস টোকেন বা "Manage DNS" প্রিভিলেজযুক্ত সাব-প্রোফাইল দরকার।

export VULTR_API_KEY="your_vultr_api_key"

와일্ডকার্ড সার্টিফিকেট অনুরোধ করুন:

acme.sh --issue --dns dns_vultr -d '*.example.org'

RackSpace

RackSpace ব্যবহার করলে ইউজারনেম ও API কী দরকার। নিচে দেখানোভাবে এক্সপোর্ট করুন:

export RACKSPACE_Username="your_rackspace_username"
export RACKSPACE_Apikey="your_rackspace_api_key"

와일্ডকার্ড সার্টিফিকেট অনুরোধ করুন:

acme.sh --issue --dns dns_rackspace -d '*.example.org'

ম্যানুয়াল প্রসেস

আপনি যদি আপনার DNS ভেন্ডর প্রদত্ত API ব্যবহার না করতে চান অথবা না পারেন, তবে ম্যানুয়ালি DNS রেকর্ড তৈরি করে ডোমেন ভ্যালিডেশন চ্যালেঞ্জ पूरा করতে পারেন, যদিও রিনিউয়ালের সময়েও এই ম্যানুয়াল প্রসেস পুনরাবৃত্তি করতে হবে।

acme.sh --issue --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'

এই কমান্ড একটি ভেরিফিকেশন টোকেন দেখাবে जिसे আপনাকে DNS TXT রেকর্ড হিসেবে যোগ করতে হবে।

টোকেন কপি করে আপনার DNS কন্ট্রোল প্যানেলে লগইন করুন। _acme-challenge সাবডোমেনের জন্য TXT টাইপের একটি নতুন DNS রেকর্ড তৈরি করে টোকেনটি পেস্ট করুন।

কয়েক মিনিট অপেক্ষা করুন নতুন রেকর্ড এক্সেসিবল হওয়ার জন্য, তারপর সার্টিফিকেট অনুরোধ করুন:

acme.sh --renew --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'

ফাইল লোকেশন

আপনার সার্টিফিকেট ও অন্যান্য প্রাসঙ্গিক ফাইল হোম ফোল্ডারের ".acme.sh" ডিরেক্টরিতে পাবেন।

  • সার্টিফিকেটটি: "~/.acme.sh/*.example.org/*.example.org.cer"
  • সার্টিফিকেট কী: "~/.acme.sh/*.example.org/*.example.org.key" — এই ফাইল প্রাইভেট রাখুন, কখনো শেয়ার করবেন না।
  • ফুলচেইন সার্টিফিকেট ফাইল (যেটি আপনি সবচেয়ে বেশি ব্যবহার করবেন): "~/.acme.sh/*.example.org/fullchain.cer" — এটি আপনার সার্টিফিকেটকে ইস্যুইং অথরিটির সার্টিফিকেট (ইন্টারমিডিয়েট সার্টিফিকেট) এর সাথে জোড়া দিয়ে।

উপরোক্ত ধাপগুলো ফলো করলে আপনি Let's Encrypt থেকে একটি 와일্ডকার্ড ডোমেন সার্টিফিকেট পাওয়া যাবেন।

  1. ডাউনগ্রেড রাইটস ব্যবহার করে উইন্ডোজ ৮ প্রোকে ফ্রিতে উইন্ডোজ ৭-এ ডাউনগ্রেড করুন

  2. উইন্ডোজ ১০ হোম থেকে প্রো-এ আপগ্রেড করার ফ্রি গাইড

  3. ক্রোম ডেটা যেকোনো নতুন ব্রাউজারে সহজে ট্রান্সফার করুন

  4. উইন্ডোজ ৭/৮/৮.১ থেকে উইন্ডোজ ১০ ফ্রি আপগ্রেড: ধাপে ধাপে লিগ্যাল গাইড