久久999这里只有精品视频|欧美夫妻性生活黄大片|久久九九九九九九热|波多野结衣二区看黄片在线|99性爱视频97厂超碰|欧美国产丝袜成年人二级毛片|中国一圾黄片免费看a级大片|太久思思中文字幕一区|爱爱很舒服欧美91|亚洲男女AV亚洲肏屄

X
???? ???: 2026-02-07 | ???? ???? ???: 2026-02-09
Nginx پر SSL سرٹیفکیٹ انسٹال کرنا

Tیہ مضمون آپ کو Nginx پر SSL سرٹیفکیٹ انسٹال کرنے کے مراحل سے روشناس کرائے گا اور HTTP:// سے HTTPS:// پر خودکار ری ڈائریکٹ ترتیب دینے میں مدد دے گا۔

1. اپنے ویب سائٹ کے میزبانی کرنے والے سرور پر سرٹیفکیٹس اپ لوڈ کریں

CSR کوڈ جنریشن اور SSL ایکٹیویشن کے مراحل مکمل کرنے کے بعد، آپ کو ای میل کے ذریعے Sectigo (جسے پہلے Comodo کہا جاتا تھا) کے سرٹیفکیٹس کے ساتھ ایک زپ فائل موصول ہوگی۔ آپ alternatively اسے اپنے NiceNic اکاؤنٹ پینل سے بھی ڈاؤن لوڈ کر سکتے ہیں۔

نوٹ: اگر آپ نے سرٹیفکیٹ فعال کرتے وقت NGINX سرور منتخب کیا ہے، تو آپ کو ایک زپ فائل موصول ہوگی جس میں '.crt' توسیع والی سرٹیفکیٹ فائل اور '.ca-bundle' توسیع والی سرٹیفکیٹ اتھارٹی (CA) بنڈل فائل شامل ہوگی۔

دونوں فائلز کو اپنی مرضی کے مطابق طریقہ سے اپنے سرور پر اپ لوڈ کریں۔ مثال کے طور پر FTP کلائنٹ کا استعمال کر کے۔

آپ ہر سرٹیفکیٹ کے لیے بنڈل فائل بھی یہاں دی گئی ہدایت کے مطابق ڈاؤن لوڈ کر سکتے ہیں۔

2. تمام سرٹیفکیٹس کو ایک فائل میں ضم کریں

آپ کو تمام سرٹیفکیٹس (?? ??_?????.crt اور ?? ??_?????.ca-bundle) کو ایک '.crt' فائل میں ضم کرنا ہوگا۔

آپ کے ڈومین کے سرٹیفکیٹ کو فائل میں پہلے آنا چاہیے، اس کے بعد سرٹیفکیٹ چین (CA Bundle) ہونی چاہیے۔

اس ڈائریکٹری میں جائیں جہاں آپ نے سرٹیفکیٹ فائلوں کو اپ لوڈ کیا ہے۔ فائلوں کو ضم کرنے کے لیے مندرجہ ذیل کمانڈ چلائیں:

$ cat ?? ??_?????.crt ?? ??_?????.ca-bundle >> ?? ??_?????_chain.crt

براہ کرم نوٹ کریں اگر سرٹیفکیٹ فائلیں آپ کے NiceNic اکاؤنٹ سے ڈاؤن لوڈ کی گئی ہیں، تو بہترین کمانڈ یہ ہوگی:

$ cat ?? ??_?????.crt > ?? ??_?????_chain.crt ; echo >> ?? ??_?????_chain.crt ; cat ?? ??_?????.ca-bundle >> ?? ??_?????_chain.crt

3. ایک علیحدہ Nginx سرور بلاک بنائیں یا موجودہ کنفیگریشن فائل میں ترمیم کریں

Nginx پر SSL سرٹیفکیٹ انسٹال کرنے کے لیے، آپ کو سرور کو دکھانا ہوگا کہ کون سی فائلیں استعمال کریں، یا تو a) نیا کنفیگریشن فائل بنا کر، یا b) موجودہ فائل میں ترمیم کر کے۔

a) ویب سائٹ کے لیے نیا کنفیگریشن فائل بنا کر آپ اس بات کو یقینی بنا سکتے ہیں کہ علیحدہ کنفیگریشن فائل سے کوئی مسئلہ نہ ہو۔ مزید برآں، نئے کنفیگریشن میں کسی بھی مسئلے کی صورت میں انسٹالیشن کو حل کرنا آسان ہوگا۔

ہم مشورہ دیتے ہیں کہ اس فولڈر میں نیا کنفیگریشن فائل بنائیں:

/etc/nginx/conf.d

یہ کمانڈ چلائیں:

sudo nano /etc/nginx/conf.d/Your_?????*-ssl.conf

جہاں Your_?????*-ssl.conf نیا بنائی گئی فائل کا نام ہے۔

اس کے بعد 443 پورٹ کے لیے نیچے دیے گئے سرور بلاکس میں سے کسی ایک کو کاپی کرکے پیسٹ کریں اور ڈائریکٹریز میں ترمیم کریں۔ یقینی بنائیں کہ سرور نام اور ویب روٹ کا راستہ پورٹ 80 اور 443 دونوں سرور بلاکس میں میل کھاتے ہوں۔ اگر کوئی اور اہم ویلیوز محفوظ کرنی ہوں تو انہیں نئے سرور بلاک میں بھی منتقل کریں۔
b) ویب سرور کی ڈیفالٹ کنفیگریشن فائل، جس کا نام nginx.conf ہے، میں ترمیم کریں۔ یہ فائل مندرجہ ذیل فولڈرز میں ہو سکتی ہے:

/usr/local/nginx/conf

/etc/nginx

/usr/local/etc/nginx

آپ اس کمانڈ کا استعمال کر کے اسے تلاش بھی کر سکتے ہیں:

sudo find / -type f -iname "nginx.conf"

جب آپ اسے تلاش کر لیں تو فائل کو اس طرح کھولیں:

sudo nano nginx.conf

پھر نیچے دیے گئے 443 پورٹ کے سرور بلاکس میں سے کسی ایک کو کاپی کریں اور اپنے 80 پورٹ کے سرور بلاک کے مطابق ڈائریکٹریز میں ترمیم کریں (سرور نام، ویب روٹ کا راستہ، اور دیگر اہم ویلیوز کے ساتھ جو آپ کو چاہئیں)۔ متبادل طور پر، آپ 80 پورٹ کے سرور بلاک کو کاپی کریں، پھر اسے نیچے پیسٹ کریں، پورٹ اپ ڈیٹ کریں اور ضروری SSL متعلقہ ہدایات شامل کریں۔

سرور بلاک منتخب کریں:

نیچے آپ اپنے Nginx ورژن کے لیے ایک سرور بلاک حاصل کر سکتے ہیں۔

نوٹ: اپنے Nginx ورژن کو چیک کرنے کے لیے یہ کمانڈ چلائیں:

sudo nginx -v



نوٹ: سرور بلاک میں فائل کے ناموں کی جگہ، جیسے ?? ??_?????_chain.crt, کو اپنی تفصیلات کے ساتھ تبدیل کریں، اور ان کے راستوں کو /path/to/ کا استعمال کرتے ہوئے درست کریں۔


Nginx ورژن 1.14 اور اس سے نیچے کے لیے سرور بلاک:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/?? ??_?????_chain.crt;

ssl_certificate_key /path/to/?? ??_private.key;

root /path/to/webroot;

server_name ?? ??_?????.com;

}

نوٹ: اگر ضرورت ہو تو، آپ اس طرح کے کنفیگریشن میں کئی ہوسٹ نیم بھی مخصوص کر سکتے ہیں، جیسے:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/?? ??_?????_chain.crt;

ssl_certificate_key /path/to/?? ??_private.key;

root /path/to/webroot;

server_name ?? ??_?????.com www.?? ??_?????.your;

}

Nginx ورژن 1.15 اور اوپر کے لیے سرور بلاک:

server {

listen 443 ssl;

ssl_certificate /path/to/certificate/?? ??_?????_chain.crt;

ssl_certificate_key /path/to/?? ??_private.key;

root /path/to/webroot;

server_name ?? ??_?????.com;

}

ssl_certificate کو اس فائل کی طرف اشارہ کرنا چاہیے جس میں آپ نے پہلے ملے جلے سرٹیفکیٹس بنائے تھے۔
ssl_certificate_key کو اس پرائیویٹ کی کی طرف اشارہ کرنا چاہیے جو CSR کوڈ کے ساتھ بنائی گئی تھی۔
یہاں کچھ تجاویز ہیں کہ Nginx پر پرائیویٹ کی کیسے تلاش کریں۔

اہم: چاہے آپ کے پاس ملٹی ڈومین ہو یا وائلڈکارڈ سرٹیفکیٹ، آپ کو ہر متعلقہ ڈومین/سب ڈومین کے لیے الگ سرور بلاک شامل کرنا ہوگا۔ یقینی بنائیں کہ سرور بلاک میں ڈومین/سب ڈومین اور متعلقہ سرٹیفکیٹ فائلوں کے راستے درست طریقے سے شامل کیے گئے ہوں، جیسا کہ اوپر بیان کیا گیا ہے۔

ایک بار جب متعلقہ سرور بلاک فائل میں شامل ہو جائے، تو تبدیلیوں کو محفوظ کریں۔ پھر آپ درج ذیل مراحل کے ذریعے تبدیلیوں کو دوبارہ چیک کر سکتے ہیں۔

اس کمانڈ کو چلائیں تاکہ کنفیگریشن فائل کی سنٹیکس جانچی جا سکے:

sudo nginx -t



اگر آپ کو غلطیاں موصول ہوں تو دوبارہ چیک کریں کہ آپ نے گائیڈ کو صحیح طریقے سے فالو کیا ہے۔ اگر آپ کے پاس کوئی سوالات ہوں تو بلا جھجھک ہماری سپورٹ ٹیم سے رابطہ کریں۔


یہاں ایک ٹپ ہے: غلطی لاگز تلاش کرنے کے لیے، صرف یہ کمانڈ چلائیں:

sudo nginx -T | grep 'err??_log'

اگر مذکورہ فائلز موجود نہیں ہیں، فائلز کمنٹ آؤٹ ہیں یا کوئی ایرر لاگ فائل مخصوص نہیں ہے، تو ڈیفالٹ سسٹم لاگ کو چیک کرنا چاہیے:

tail /var/log/nginx/err??.log -n 20

اگر سرور ٹیسٹ کامیابی سے ظاہر کرے، تو تبدیلیوں کو نافذ کرنے کے لیے Nginx کو اس کمانڈ کے ذریعہ دوبارہ شروع کریں:

sudo nginx -s reload

اب آپ کا SSL سرٹیفکیٹ انسٹال ہو چکا ہے۔ آپ یہاں انسٹالیشن چیک کر سکتے ہیں۔

اہم نوٹس:

کبھی کبھار، کمانڈ لائن کے ذریعے ملے جلے SSL فائل انسٹال کرنے کے بعد 'Nginx/Apache err??: 0906D066:PEM routines:PEM_read_bio:bad end line' کی خرابی کا سامنا ہو سکتا ہے، اس صورت میں مسئلے کا حل حوالہ جاتی گائیڈ میں موجود ہے۔

اس مرحلے پر ایک اور عام مسئلہ 'Nginx SSL: err??:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch' کی خرابی ہے، آپ اس آرٹیکل میں اس کے مزید تفصیلات اور ممکنہ حل حاصل کر سکتے ہیں۔

4. HTTPS ری ڈائریکٹ ترتیب دیں

ہم مشورہ دیتے ہیں کہ آپ HTTP سے HTTPS پر ری ڈائریکٹ انسٹال کریں۔ اس طرح آپ کے ویب سائٹ ملاحظین صرف آپ کی سائٹ کے محفوظ ورژن تک رسائی حاصل کر پائیں گے۔

اس کے لیے، آپ کو 80 پورٹ کے سرور بلاک کی کنفیگریشن فائل میں ایک لائن شامل کرنی ہوگی۔

تجاویز:

آپ درج ذیل کمانڈز میں سے کسی ایک کا استعمال کر کے فعال کنفیگریشن فائلز کی تلاش کر سکتے ہیں:

sudo nginx -T | grep -iw "configuration file"

sudo nginx -T | grep -iw "include"

ڈیفالٹ کنفیگریشن فائل کے راستے یہ ہیں:

RHEL مبنی لینکس ?? ??? پر: /etc/nginx/conf.d/default.conf

Debian مبنی لینکس ?? ??? پر: /etc/nginx/sites-enabled/default

آپ فائلز کھول کر چیک کر سکتے ہیں کہ کون سی فائل میں مطلوبہ سرور بلاک موجود ہے۔ اس کے لیے یہ کمانڈ چلائیں:

sudo nano name_of_the_file

جب آپ کو وہ فائل مل جائے جس میں 80 پورٹ کے سرور بلاک (ڈیفالٹ HTTP پورٹ) موجود ہو، تو اس میں درج ذیل لائن شامل کریں:

return 301 https://$server_name$request_uri;

نوٹ: مذکورہ ری ڈائریکٹ رول سرور بلاک میں آخری لائن کے طور پر داخل کرنا چاہیے۔

  • return بنیادی ہدایت ہے جو استعمال کی جاتی ہے۔
  • 301 مستقل ری ڈائریکٹ ہے (302 عارضی ہوتا ہے)۔
  • https ایک مخصوص اسکیم قسم ہے (واضح اسکیم، نہ کہ $scheme متغیر)۔
  • $server_name متغیر سرور_نام کی ہدایت میں دیا گیا ڈومین استعمال کرے گا۔
  • $request_uri متغیر ویب سائٹ کے درخوست کی گئی صفحات یا حصوں کے راستوں کے مطابق ہوگا (ڈومین نام کے بعد کا ہر کچھ)۔
یہاں HTTPS ری ڈائریکٹ کے ساتھ سرور بلاک کی مثالیں دی گئی ہیں:

مستقل ری ڈائریکٹ HTTPS پر

server {

listen 80;

server_name ?? ??_?????.com www.?? ??_?????.your;

return 301 https://$server_name$request_uri;

}

مستقل ری ڈائریکٹ HTTPS کے لیے بغیر www کے

server {

listen 80;

server_name ?? ??_?????.com www.?? ??_?????.your;

return 301 https://?? ??_?????.com$request_uri;

}

مستقل ری ڈائریکٹ HTTPS کے لیے www کے ساتھ

server {

listen 80;

server_name ?? ??_?????.com www.?? ??_?????.your;

return 301 https://www.?? ??_?????.your$request_uri;

}

عارضی ری ڈائریکٹ HTTPS کے لیے بغیر www کے

server {

listen 80;

server_name ?? ??_?????.com www.?? ??_?????.your;

return 302 https://?? ??_?????.com$request_uri;

}

{{/G454}}
آپ یہاں Nginx پر ری ڈائریکشن کے اختیارات کے بارے میں مزید تفصیلات حاصل کر سکتے ہیں۔

??? ?????? ?? ????? ?? ?? ??? ????? ???? ??? ??? ????
???? ???? © 2006-2026 NICENIC INTERNATIONAL GROUP CO., LIMITED ???? ???? ????? ???