لانچر مصنوعات Bitnami دستاویزاتimaxe CLI بلاگ رابطہ
imaxe tls سرٹیفکیٹ v1.0.0

HTTPS سرٹیفکیٹ، بلا کسی زحمت کے

اپنے سرور کے لیے مفت Let's Encrypt سرٹیفکیٹ جاری اور تجدید کریں اور انہیں سروس میں خلل ڈالے بغیر دوبارہ لوڈ کریں۔ ایک کمانڈ اسے چالو کر دیتی ہے؛ اس کے بعد سے یہ خود کو تجدید کرتا رہتا ہے۔

$ imaxe tls issue app.ejemplo.com --email [email protected]
ورژن
v1.0.0
ذیلی کمانڈز
6
کنفیگ
/etc/imaxe/tls.yml
root درکار ہے
ہاں
تجدید
auto · timer

یہ ماڈیول کیا کرتا ہے #

TLS سرٹیفکیٹ ہی وہ چیز ہے جو http:// کو https:// میں بدلتی ہے: یہ آپ کے وزیٹرز اور سرور کے درمیان کنکشن کو خفیہ کرتی ہے، اور براؤزر کو «غیر محفوظ» وارننگ کے بجائے تالا دکھانے پر مجبور کرتی ہے۔

tls ماڈیول اُس سرٹیفکیٹ کی پوری زندگی کا دورانیہ certbot کے ذریعے سنبھالتا ہے: یہ اسے Let's Encrypt (ایک مفت، معتبر اتھارٹی) سے طلب کرتا ہے، ACME چیلنج کے ذریعے ثابت کرتا ہے کہ ڈومین آپ کا ہے، سرٹیفکیٹ کو وہاں نصب کرتا ہے جہاں آپ کا ویب سرور اس کی توقع کرتا ہے، اور اس کے ختم ہونے سے پہلے اسے خودکار طور پر تجدید کرتا ہے — بغیر اس کے کہ آپ کو یاد رکھنا پڑے۔

شروع کرنے سے پہلے

آپ کے ڈومین (مثلاً app.ejemplo.com) کو DNS کے ذریعے اِس سرور کے IP کی طرف اشارہ کرنا چاہیے، اور HTTP-01 چیلنج کے لیے پورٹ 80 تک رسائی ممکن ہونی چاہیے۔ بصورت دیگر، اجرا توثیق کے مرحلے پر ناکام ہو جائے گا۔

فوری گائیڈمرحلہ وار کام

عام کام #

جو آپ کرنا چاہتے ہیں اسے منتخب کریں۔ ہر ترکیب کمانڈ پہلے سے لکھی ہوئی لاتی ہے — بس اپنا ڈومین اور ای میل ڈال دیں، اور کاپی کریں دبائیں۔

1

اپنا پہلا سرٹیفکیٹ جاری کریں

ایک منٹ میں اپنے ڈومین کے لیے HTTPS تالا حاصل کریں۔

اپنے سرور سے ubuntu صارف کے ساتھ SSH کے ذریعے جڑیں۔

کمانڈ چلائیں، اپنا ڈومین اور ای میل ڈالتے ہوئے (ای میل صرف اُس وقت آپ کو خبردار کرنے کے لیے استعمال ہوتی ہے جب کوئی چیز ختم ہونے کو ہو):

ٹرمینل
$ sudo imaxe tls issue app.ejemplo.com --email [email protected]

چند سیکنڈ انتظار کریں۔ آپ کو چیلنج کی پیش رفت اور، آخر میں، ختم ہونے کی تاریخ نظر آئے گی۔

اب آپ کی سائٹ تالے کے ساتھ https:// پر لوڈ ہوتی ہے۔ خودکار تجدید فعال ہے — آپ کو اور کچھ نہیں کرنا۔
2

دیکھیں کون سے موجود ہیں اور کب ختم ہوتے ہیں

ایک نظر میں اپنے سرٹیفکیٹس کی حالت جانچیں۔

عمومی حالت اور تجدید کے ٹائمر کا فوری خلاصہ:

ٹرمینل
$ sudo imaxe tls status

ڈومین بہ ڈومین تفصیل چاہتے ہیں، باقی دنوں اور fullchain راستے کے ساتھ؟ list استعمال کریں:

ٹرمینل
$ sudo imaxe tls list
اگر آپ کو کوئی ڈومین چند دن باقی رہنے کے ساتھ نظر آئے، تو تجدید پر مجبور کریں ترکیب پر جائیں۔
3

تجدید پر مجبور کریں

یہ عموماً خودکار ہوتی ہے، مگر اگر ضرورت ہو تو آپ اسے پہلے کر سکتے ہیں۔

ختم ہونے کے قریب تمام سرٹیفکیٹس کی تجدید کریں (ٹائمر بالکل یہی کرتا ہے):

ٹرمینل
$ sudo imaxe tls renew

پہلے ڈسک کو چھوئے بغیر اس کی مشق کرنا چاہتے ہیں، یا دن باقی ہونے کے باوجود تجدید کرنا چاہتے ہیں؟ --dry-run یا --force شامل کریں:

ٹرمینل
$ sudo imaxe tls renew --dry-run
$ sudo imaxe tls renew --force
ویب سرور خود کو نئے سرٹیفکیٹ کے ساتھ دوبارہ لوڈ کر لیتا ہے۔ آپ کے وزیٹرز کو کوئی خلل محسوس نہیں ہوتا۔
4

کوئی سرٹیفکیٹ منسوخ کریں

اتھارٹی کے پاس کسی سرٹیفکیٹ کو کالعدم کریں (مثلاً اگر کی لیک ہو گئی ہو)۔

Let's Encrypt کے پاس کسی ڈومین کا سرٹیفکیٹ منسوخ کریں، وجہ بتاتے ہوئے اگر آپ اسے جانتے ہوں:

ٹرمینل
$ sudo imaxe tls revoke app.ejemplo.com --reason keycompromise
سرٹیفکیٹ فوری طور پر مزید درست نہیں رہتا۔ اگر ڈومین ابھی بھی زیرِ استعمال ہے، تو issue کے ساتھ نیا جاری کریں۔
5

ڈسک سے کوئی سرٹیفکیٹ حذف کریں

کسی ڈومین کو منظم کرنا بند کریں جو آپ اب استعمال نہیں کرتے۔

سرٹیفکیٹ اور اس کی کیز کو ڈسک سے ہٹائیں۔ نوٹ: یہ اسے اتھارٹی کے پاس منسوخ نہیں کرتا — اس کے لیے، پہلے revoke استعمال کریں۔

ٹرمینل
$ sudo imaxe tls delete tienda.ejemplo.com
ڈومین imaxe tls list سے غائب ہو جاتا ہے اور اس کی خودکار تجدید رک جاتی ہے۔
کچھ کام نہیں کیا؟

سب سے عام مسئلہ یہ ہے کہ DNS ابھی تک پھیلا نہیں یا پورٹ 80 بند ہے۔ چند منٹ انتظار کریں اور دوبارہ آزمائیں۔ اگر برقرار رہے، تو پہلے --staging کے ساتھ ٹیسٹ موڈ آزمائیں (حوالہ دیکھیں) تاکہ آپ اپنا کوشش کا کوٹا ضائع نہ کریں۔

CLI حوالہکمانڈز، فلیگز اور فائلیں

نحو #

استعمال
imaxe tls <subcomando> [<dominio>...] [--email CORREO] [flags]

وہ ذیلی کمانڈز جو سرٹیفکیٹس کو چھوتی ہیں، انہیں root کے مراعات درکار ہیں (sudo استعمال کریں) کیونکہ وہ /etc/imaxe/ میں لکھتی ہیں اور سسٹم سروسز کو دوبارہ لوڈ کرتی ہیں۔ scripting کے لیے موزوں مشین کے پڑھنے کے قابل آؤٹ پٹ کے لیے list یا status میں --json شامل کریں۔

ذیلی کمانڈز #

ذیلی کمانڈیہ کیا کرتا ہےمتعلقہ فلیگز
issueایک یا زیادہ ڈومینز کے لیے سرٹیفکیٹ جاری کرتا ہے، ACME چیلنج حل کرتے ہوئے۔--email, --webroot, --standalone, --staging
renewختم ہونے کے قریب سرٹیفکیٹس کی تجدید کرتا ہے اور ویب سرور دوبارہ لوڈ کرتا ہے۔ ٹائمر کے لیے موزوں۔--dry-run, --force
listزیرِ انتظام سرٹیفکیٹس کی فہرست بناتا ہے، ختم ہونے تک دنوں اور fullchain راستے کے ساتھ۔--json
statusخلاصہ: سرٹیفکیٹس کی تعداد، وہ جو ختم ہونے کے قریب ہیں، اور تجدید کے ٹائمر کی حالت۔--json
revokeاتھارٹی (ACME) کے پاس ڈومین کے لحاظ سے سرٹیفکیٹ منسوخ کرتا ہے۔--reason
deleteسرٹیفکیٹ اور اس کی کیز کو ڈسک سے حذف کرتا ہے۔ ACME پر منسوخ نہیں کرتا۔

آرگیومنٹس اور فلیگز #

فلیگقسمطے شدہتفصیل
<dominio> لازمیstring…سرٹیفکیٹ کے لیے ایک یا زیادہ ڈومینز۔ issue میں، پہلا بنیادی (CN) ہوتا ہے؛ باقی SANs ہوتے ہیں۔ revoke/delete میں، وہ ڈومین جس پر عمل کرنا ہے۔
--emailstringtls.ymlACME اکاؤنٹ کے لیے رابطہ ای میل۔ پہلے issue پر لازمی؛ اس کے بعد tls.yml والا دوبارہ استعمال ہوتا ہے۔
--webrootpath/var/www/htmlHTTP-01 چیلنج کے لیے روٹ ڈائرکٹری۔ طے شدہ طریقہ۔
--standaloneboolfalsewebroot کے بجائے certbot کا اندرونی سرور استعمال کرتا ہے۔ پورٹ 80 کا آزاد ہونا درکار ہے۔
--stagingboolfalseLet's Encrypt کا ٹیسٹ ماحول استعمال کرتا ہے (ریٹ لِمٹ میں شمار نہیں ہوتا)۔ سرٹیفکیٹ پر بھروسہ نہیں کیا جائے گا۔
--dry-runboolfalserenew میں، ڈسک کو چھوئے بغیر تجدید کی نقل کرتا ہے۔
--forceboolfalserenew میں، تجدید کرتا ہے چاہے ختم ہونے کے قریب نہ ہو۔
--reasonenumunspecifiedrevoke میں: unspecified، keycompromise، superseded، cessationofoperation۔
--jsonboolfalselist/status میں، نتیجہ stdout پر JSON کے طور پر جاری کرتا ہے۔

فائلیں اور راستے #

راستہمواد
/etc/imaxe/tls.ymlماڈیول کی کنفیگریشن: طے شدہ ای میل، طریقہ (webroot/standalone)، webroot، staging، خودکار تجدید اور reload hook۔
/etc/letsencrypt/live/<dominio>/سرٹیفکیٹ (fullchain.pem) اور نجی کی (privkey.pem) جسے certbot منظم کرتا ہے۔
/var/log/imaxe/tls.logہر اجرا، تجدید اور منسوخی کا منظم لاگ۔
imaxe-tls.timersystemd ٹائمر جو وقتاً فوقتاً renew کو متحرک کرتا ہے۔

tls.yml کی مثال:

/etc/imaxe/tls.yml
email: [email protected]
default_method: webroot
webroot: /var/www/html
staging: false
auto_renew: true
reload_hook: systemctl reload nginx

ایگزٹ کوڈز اور لاگز #

ہر عملدرآمد ایک کوڈ لوٹاتا ہے جسے آپ echo $? کے ساتھ جانچ سکتے ہیں — اسکرپٹس میں سلسلہ بنانے کے لیے مفید:

0OKآپریشن بغیر کسی زیر التوا تبدیلی کے مکمل ہوا۔
1ERRعمومی غیر درجہ بند خرابی۔ لاگ کا جائزہ لیں۔
2USAGEغلط یا غائب آرگیومنٹس۔
3CHALLENGEACME توثیق ناکام ہوئی (DNS/HTTP)۔
4RATELIMITLet's Encrypt کی حد پہنچ گئی۔
5RELOADاجرا ٹھیک مگر ویب سرور کی دوبارہ لوڈنگ ناکام ہوئی۔

ڈی بگ کرتے وقت لاگ کو لائیو دیکھیں:

ٹرمینل
$ sudo journalctl -u imaxe-tls -f
$ sudo tail -f /var/log/imaxe/tls.log

جدید مثالیں #

ایک ہی سرٹیفکیٹ میں کئی ڈومینز

پہلا ڈومین بنیادی ہوتا ہے؛ اگلے SANs کے طور پر شامل کیے جاتے ہیں، سب ایک ہی سرٹیفکیٹ میں:

ٹرمینل
$ sudo imaxe tls issue ejemplo.com www.ejemplo.com \
    --email [email protected]

پروڈکشن سے پہلے ایک محفوظ ٹیسٹ

پوری زنجیر کی ٹیسٹ ماحول کے مقابل توثیق کریں تاکہ آپ اپنا اصل کوٹا ضائع نہ کریں۔ --standalone کے ساتھ آپ کو کنفیگر شدہ ویب سرور کی ضرورت نہیں:

ٹرمینل
$ sudo imaxe tls issue app.ejemplo.com \
    --email [email protected] --standalone --staging \
  || echo "falló con código $?"

مسائل کا حل #

علامتممکنہ وجہحل
CHALLENGE (کوڈ 3) نکلتا ہےڈومین اِس میزبان کی طرف حل نہیں ہوتا یا پورٹ 80 بند ہے۔A/AAAA ریکارڈ کی تصدیق کریں اور سیکیورٹی گروپ میں پورٹ 80 کھولیں؛ دوبارہ آزمائیں۔
RATELIMIT (کوڈ 4) نکلتا ہےایک ہفتے میں ایک ہی ڈومین کے بہت زیادہ اجرا۔ٹیسٹ کے لیے --staging استعمال کریں؛ ونڈو کے آزاد ہونے کا انتظار کریں۔
HTTPS لوڈ ہوتا ہے مگر ایک وارننگ کے ساتھ--staging کے ساتھ جاری کیا گیا: سرٹیفکیٹ پر بھروسہ نہیں کیا جاتا۔درست سرٹیفکیٹ حاصل کرنے کے لیے --staging کے بغیر دوبارہ جاری کریں۔
RELOAD (کوڈ 5) نکلتا ہےreload_hook کسی غیر موجود سروس کی طرف اشارہ کرتا ہے۔tls.yml میں reload_hook ایڈجسٹ کریں اور renew دوبارہ چلائیں۔

کیا TLS ماڈیول کے ساتھ اٹک گئے ہیں؟

«imaxe <module> status --json» کے آؤٹ پٹ کے ساتھ ہمیں لکھیں اور ہم فوراً جواب دیں گے۔

سپورٹ سے رابطہ کریں