Home Knowledge base Skyline Cloud Let's Encrypt کے ساتھ مفت SSL کیسے سیٹ کریں (خودکار تجدید) KNOWLEDGE BASE

Let's Encrypt کے ساتھ مفت SSL کیسے سیٹ کریں (خودکار تجدید)

Certbot کا استعمال کرتے ہوئے Nginx پر مفت Let's Encrypt SSL سرٹیفکیٹ سے اپنی سائٹ کو محفوظ بنانے کے لیے ایک درست، قدم بہ قدم رہنمائی، جس میں systemd کے ذریعے قابلِ اعتماد خودکار تجدید شامل ہے، سعودی عرب میں میزبان سرورز کے لیے۔

Let's Encrypt کے ساتھ مفت SSL کیسے سیٹ کریں (خودکار تجدید)

Certbot کا استعمال کرتے ہوئے Nginx پر مفت Let's Encrypt SSL سرٹیفکیٹ سے اپنی سائٹ کو محفوظ بنانے کے لیے ایک درست، قدم بہ قدم رہنمائی، جس میں systemd کے ذریعے قابلِ اعتماد خودکار تجدید شامل ہے، سعودی عرب میں میزبان سرورز کے لیے۔

Let's Encrypt کے ساتھ مفت SSL کیوں

ہر عوامی ویب سائٹ کو HTTPS کی ضرورت ہوتی ہے۔ براؤزر سادہ HTTP صفحات کو "Not secure" کے طور پر نشان زد کرتے ہیں، سرچ انجن خفیہ کاری والی سائٹوں کو ترجیح دیتے ہیں، اور PDPL کے تحت سعودی ڈیٹا تحفظ کی توقعات ٹریفک کو راستے میں خفیہ کرنا ایک بنیادی ضرورت بنا دیتی ہیں۔ Let's Encrypt ایک مفت، خودکار، غیر منافع بخش سرٹیفکیٹ اتھارٹی ہے جس پر تمام بڑے براؤزر اعتماد کرتے ہیں۔ سرکاری ACME کلائنٹ Certbot کے ساتھ مل کر، آپ بغیر کسی دستی کام اور بغیر کسی لاگت کے سرٹیفکیٹ جاری اور تجدید کر سکتے ہیں۔

یہ رہنمائی Nginx (Ubuntu/Debian) پر سرٹیفکیٹ نصب کرنے، اس کی تصدیق کرنے، اور — سب سے اہم بات — ایسی تجدید ترتیب دینے کا احاطہ کرتی ہے جو نہ ٹوٹے۔ تجدید کا حصہ پہلے سے کہیں زیادہ اہمیت رکھتا ہے: "Let's Encrypt سرٹیفکیٹ تاریخی طور پر 90 دن کے لیے درست رہے ہیں، اور صنعت اب کم مدتوں کی طرف بڑھ رہی ہے (45 دن کا ایک پروفائل 2026 میں رول آؤٹ ہونا شروع ہوا)۔" دستی تجدید اب حقیقت پسندانہ نہیں رہی، لہٰذا خودکاری لازمی ہے۔

اگر آپ مملکت کے اندر کسی VPS یا کلاؤڈ سرور پر Skyline Cloud کے ساتھ میزبانی کرتے ہیں، تو نیچے دیے گئے مراحل آپ کے ان-کنگڈم سرور پر بغیر کسی تبدیلی کے کام کرتے ہیں، جس سے آپ کا ڈیٹا اور آپ کی TLS ٹرمینیشن دونوں سعودی سرزمین پر رہتے ہیں۔

پیشگی شرائط

  • Ubuntu 22.04/24.04 یا Debian چلانے والا ایک کلاؤڈ سرور یا VPS، جس میں sudo رسائی ہو۔
  • ایک ڈومین (مثال کے طور پر example.com) جس میں آپ کے سرور کے عوامی IP کی طرف اشارہ کرنے والا ایک DNS A record ہو۔ اگر آپ Skyline کے منظم DNS کے ذریعے DNS کا انتظام کرتے ہیں، تو وہاں ریکارڈ شامل کریں اور اسے پھیلنے دیں۔
  • Nginx نصب ہو اور آپ کی سائٹ کو پورٹ 80 پر سرو کر رہا ہو۔
  • آپ کے فائر وال اور کسی بھی کلاؤڈ سیکیورٹی گروپ میں پورٹ 80 اور 443 کھلے ہوں۔

آگے بڑھنے سے پہلے تصدیق کریں کہ DNS آپ کے سرور پر حل ہوتا ہے:

dig +short example.com

واپس آنے والا IP آپ کے سرور کے عوامی IP سے مطابقت رکھنا چاہیے۔ بصورت دیگر ڈومین کی توثیق ناکام ہو جائے گی۔

مرحلہ 1 — Certbot نصب کریں

تجویز کردہ طریقہ snap پیکیج ہے، جسے EFF برقرار رکھتا اور تازہ رکھتا ہے:

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

snap کے بغیر تقسیموں پر، APT پیکیج بھی کام کرتا ہے:

sudo apt update
sudo apt install certbot python3-certbot-nginx

دونوں طریقوں میں نیچے استعمال ہونے والا Nginx پلگ ان شامل ہے۔

مرحلہ 2 — سرٹیفکیٹ جاری کریں

Nginx پلگ ان سرٹیفکیٹ حاصل کرتا ہے اور ایک ہی مرحلے میں HTTPS کو فعال کرنے کے لیے آپ کے سرور بلاکس میں ترمیم کرتا ہے:

sudo certbot --nginx -d example.com -d www.example.com

Certbot ایک ای میل کے لیے کہے گا (جو میعاد ختم ہونے کی تنبیہات اور بازیابی کے لیے استعمال ہوتا ہے) اور آپ سے ACME شرائط سے اتفاق کرنے کے لیے کہے گا۔ جب یہ پوچھے کہ آیا HTTP کو HTTPS کی طرف ری ڈائریکٹ کرنا ہے، تو Redirect کا انتخاب کریں تاکہ تمام ٹریفک خفیہ ہو جائے۔

پسِ منظر میں، Certbot HTTP-01 challenge کا استعمال کرتا ہے: یہ /.well-known/acme-challenge/ کے تحت ایک ٹوکن رکھتا ہے اور Let's Encrypt اسے پورٹ 80 پر حاصل کرتا ہے تاکہ یہ ثابت ہو کہ آپ ڈومین کو کنٹرول کرتے ہیں۔

متبادل: webroot (Nginx میں کوئی ترمیم نہیں)

اگر آپ ترجیح دیتے ہیں کہ Certbot آپ کی کنفیگ کو نہ چھوئے — یہ عام ہے جب آپ کی TLS ترتیبات ٹیمپلیٹڈ یا منظم ہوں — تو صرف سرٹیفکیٹ حاصل کرنے کے لیے webroot طریقہ استعمال کریں:

sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

پھر آپ خود اپنے Nginx سرور بلاک میں فائلوں کا حوالہ دیتے ہیں:

ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

ہمیشہ Nginx کو live/ راستے کی طرف اشارہ کریں، کبھی بھی تاریخ والی archive/ فائلوں کی طرف نہیں — live/ symlinks ہر تجدید پر اپ ڈیٹ ہوتے ہیں۔

مرحلہ 3 — تصدیق کریں کہ HTTPS کام کرتا ہے

Nginx کو دوبارہ لوڈ کریں اور اپنی سائٹ کھولیں:

sudo nginx -t && sudo systemctl reload nginx

https://example.com پر جائیں۔ آپ کو تالا (padlock) نظر آنا چاہیے۔ کمانڈ لائن سے سرٹیفکیٹ اور chain کی تصدیق کریں:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -issuer -dates

یہ جاری کنندہ (Let's Encrypt) اور درستگی کی مدت پرنٹ کرتا ہے۔

مرحلہ 4 — خودکار تجدید سیٹ کریں

یہ وہ مرحلہ ہے جو رات 3 بجے کی بندشوں کو روکتا ہے۔ Certbot باقی ماندہ مدت کی بنیاد پر تجدید کرتا ہے، نہ کہ کسی مقررہ شیڈول پر، لہٰذا تجدید کی جانچ کو بار بار چلانا محفوظ ہے — اور اسی کا ارادہ بھی ہے۔

زیادہ تر تنصیبات پہلے ہی ایک تجدید جاب بنا دیتی ہیں۔ اس کے لیے جانچ کریں:

systemctl list-timers | grep certbot

اگر آپ کو ایک certbot.timer نظر آئے، تو خودکار تجدید فعال ہے۔ بطور پہلے سے طے شدہ یہ دن میں دو بار چلتا ہے، Let's Encrypt کے سرورز پر بوجھ کو پھیلانے کے لیے ایک بے ترتیب تاخیر کے ساتھ۔ "دن میں دو بار چلانا EFF کی اپنی سفارش ہے اور 90 دن اور کم 45 دن دونوں سرٹیفکیٹس کو آرام سے سنبھالتا ہے۔"

جاری کیے بغیر تجدید کی جانچ

ہمیشہ ایک dry run کے ساتھ تجدید کے راستے کے سرے سے سرے تک کام کرنے کی تصدیق کریں، جو staging ماحول کے خلاف تجدید کی نقالی کرتا ہے:

sudo certbot renew --dry-run

کامیاب dry run کا مطلب ہے کہ حقیقی تجدیدیں کامیاب ہوں گی۔

تجدید کے بعد Nginx کو دوبارہ لوڈ کریں

تجدید شدہ سرٹیفکیٹ صرف Nginx کے دوبارہ لوڈ ہونے کے بعد سرو ہوتا ہے۔ ایک deploy hook شامل کریں تاکہ ہر تجدید پر دوبارہ لوڈ خودکار طور پر ہو:

sudo certbot renew --deploy-hook "systemctl reload nginx"

Certbot اس hook کو سرٹیفکیٹ کی تجدید کی کنفیگریشن کے ساتھ محفوظ کرتا ہے، لہٰذا بعد کی خودکار تجدیدیں آپ کے لیے Nginx کو دوبارہ لوڈ کرتی ہیں۔ یہ دوبارہ لوڈ نرم (graceful) ہوتا ہے، جس سے لائیو کنکشنز میں تقریباً صفر خلل پڑتا ہے۔

اگر کوئی timer موجود نہ ہو (دستی cron)

پہلے سے ترتیب شدہ timer کے بغیر شاذ و نادر نظام پر، ایک cron اندراج شامل کریں جو دن میں دو بار ایک بے ترتیب sleep کے ساتھ جانچ چلائے:

echo "0 0,12 * * * root sleep $((RANDOM \% 3600)) && certbot renew -q --deploy-hook 'systemctl reload nginx'" | sudo tee /etc/cron.d/certbot

ایک نظر میں تجدید کے طریقے

طریقہ کب استعمال کریں Nginx کو دوبارہ لوڈ کرتا ہے
certbot.timer (systemd) زیادہ تر نظاموں پر پہلے سے طے شدہ؛ ترجیحی deploy hook کے ذریعے
/etc/cron.d/certbot systemd timers کے بغیر نظام deploy hook کے ذریعے
دستی certbot renew صرف ایک بار / مسئلہ حل کرنے کے لیے --deploy-hook شامل کریں

مسائل کا حل

  • Challenge ناکام / timeout: اجرا کے دوران پورٹ 80 انٹرنیٹ سے قابلِ رسائی ہونا چاہیے۔ اپنے فائر وال اور کلاؤڈ سیکیورٹی گروپ کی جانچ کریں۔
  • DNS مطابقت نہیں: dig +short example.com دوبارہ چلائیں اور تصدیق کریں کہ یہ سرور IP سے مطابقت رکھتا ہے۔ DNS تبدیلیوں کے بعد پھیلاؤ کے لیے وقت دیں۔
  • Rate limited: Let's Encrypt فی ہفتہ فی ڈومین سرٹیفکیٹس کو محدود کرتا ہے۔ جانچ کے لیے --dry-run استعمال کریں تاکہ آپ اپنا کوٹہ نہ جلائیں۔
  • غلط راستہ سرو ہوا: یقینی بنائیں کہ Nginx /etc/letsencrypt/live/... کا حوالہ دے، نہ کہ archive/ کا۔

اختتامیہ

اب آپ کے پاس Nginx پر ایک مفت، براؤزر کے قابلِ اعتماد SSL سرٹیفکیٹ ہے جس کی تجدید بلا نگرانی چلتی ہے اور آپ کے ویب سرور کو خودکار طور پر دوبارہ لوڈ کرتی ہے — جو 90 دن اور نئی کم مدت والے سرٹیفکیٹ دونوں کے سامنے مضبوط ہے۔ ای میل کے لیے، وہی اصول لاگو ہوتا ہے: محفوظ میل ٹرانسپورٹ بھی اہمیت رکھتی ہے، اور Skyline business email hosting آپ کے لیے ترتیب شدہ TLS کے ساتھ فراہم ہوتی ہے۔ سرٹیفکیٹس، chains اور تعمیل میں مزید گہرائی تک جانے کے لیے، SSL سرٹیفکیٹس وسائل ہب دیکھیں۔

تیار ہیں کہ اسے ایک تیز رفتار، PDPL کے مطابق ان-کنگڈم سرور پر مقامی عربی سپورٹ کے ساتھ چلائیں؟ اپنا Skyline Cloud اکاؤنٹ بنائیں اور آج ہی ایک محفوظ سائٹ تعینات کریں۔

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.