curl SSL, TLS اور Proxy کنفیگریشن گائیڈ

curl میں HTTPS سرٹیفکیٹس، TLS ورژنز، پراکسیز اور حسب ضرورت DNS ریزولوشن کنفیگر کرنا محفوظ API کمیونیکیشن، CI/CD پائپ لائنز اور نیٹ ورک مسائل کی ڈیبگنگ کے لیے ضروری ہے۔ یہ گائیڈ ہر SSL، TLS، proxy اور نیٹ ورک فلیگ کا احاطہ کرتی ہے — مقامی ڈویلپمنٹ کے لیے -k سے سرٹیفکیٹ چیکس غیر فعال کرنے سے لے کر --cert سے باہمی TLS سیٹ اپ اور SOCKS5 پراکسیز کے ذریعے ٹریفک روٹ کرنے تک۔ ہر آپشن میں واضح وضاحت، سیکیورٹی تحفظات اور کاپی کرنے کے لیے تیار مثال شامل ہے۔

SSL اور Proxy فلیگز فوری حوالہ

-kSSL/TLS

غیر محفوظ کنکشنز کی اجازت دیں — تمام SSL تصدیق چھوڑیں

--cacertSSL/TLS

مخصوص CA بنڈل کے خلاف سرور سرٹیفکیٹ تصدیق کریں

--certSSL/TLS

باہمی TLS تصدیق کے لیے کلائنٹ سرٹیفکیٹ فراہم کریں

--keySSL/TLS

کلائنٹ سرٹیفکیٹ کے لیے پرائیویٹ کلید فائل فراہم کریں

--tlsv1.2SSL/TLS

کنکشن کے لیے TLS ورژن 1.2 یا اس سے زیادہ استعمال کریں

--tlsv1.3SSL/TLS

کنکشن کے لیے TLS ورژن 1.3 یا اس سے زیادہ استعمال کریں

--ssl-reqdSSL/TLS

کنکشن کے لیے SSL/TLS لازمی کریں (دستیاب نہ ہونے پر ناکام ہوں)

--ciphersSSL/TLS

کنکشن کے لیے کون سے SSL سائفرز استعمال ہونگے مخصوص کریں

--cert-typeSSL/TLS

کلائنٹ سرٹیفکیٹ کی قسم مخصوص کریں (PEM, DER, ENG, P12)

--pinnedpubkeySSL/TLS

سرور کی پبلک کلید پن اور تصدیق کریں (HPKP طرز)

-xProxy

تمام ٹریفک مخصوص پراکسی سرور سے گزاریں

کنکشن SOCKS5 پراکسی سے گزاریں

پراکسی سرور کے لیے username:password فراہم کریں

ان ہوسٹس کی فہرست جو پراکسی سے نہیں گزرنے چاہیے

--socks5-hostnameProxy

پراکسی سے DNS ریزولوشن والا SOCKS5 پراکسی

--proxy-cacertProxy

HTTPS پراکسی خود کی تصدیق کے لیے CA سرٹیفکیٹ

--resolveنیٹ ورک

مخصوص host:port جوڑی کو حسب ضرورت IP ایڈریس سے نقشہ بنائیں

--connect-toنیٹ ورک

URL کے مخصوص کردہ سے مختلف host:port سے جڑیں

--local-portنیٹ ورک

کنکشن کے لیے مقامی پورٹ نمبر یا رینج سیٹ کریں

--interfaceنیٹ ورک

کنکشن کو مخصوص نیٹ ورک انٹرفیس سے باندھیں

--dns-serversنیٹ ورک

سسٹم ڈیفالٹس کی بجائے حسب ضرورت DNS سرورز استعمال کریں (c-ares)

curl -k: SSL سرٹیفکیٹ ایررز نظرانداز کریں

یہ کیا کرتا ہے
-k (یا --insecure) فلیگ تمام SSL/TLS سرٹیفکیٹ تصدیق غیر فعال کرتا ہے۔ curl چیک نہیں کرے گا کہ آیا سرور سرٹیفکیٹ قابل اعتماد CA نے دستخط کیا ہے، آیا ہوسٹ نام ملتا ہے یا آیا سرٹیفکیٹ کی میعاد ختم ہو چکی ہے۔
کب استعمال کریں
سیلف سائنڈ سرٹیفکیٹس کے ساتھ مقامی ڈویلپمنٹ یا ٹیسٹنگ ماحول کے لیے صرف استعمال کریں۔ staging/production کے لیے اصل CA سرٹیفکیٹ کے ساتھ --cacert استعمال کریں — یہ زیادہ محفوظ اور واضح ہے۔
$ curl -k https://localhost:8443/api/health

پروڈکشن اسکرپٹس یا CI/CD پائپ لائنز میں کبھی -k استعمال نہ کریں۔ یہ تمام سرٹیفکیٹ ویلیڈیشن غیر فعال کرتا ہے اور آپ کے کنکشن کو مین ان دی مڈل حملوں کے لیے خطرے سے دوچار کرتا ہے۔ مخصوص CA پر اعتماد کرنے کے لیے --cacert استعمال کریں۔

curl --cacert: حسب ضرورت CA سرٹیفکیٹ استعمال کریں

یہ کیا کرتا ہے
--cacert فلیگ curl کو سسٹم کے ڈیفالٹ ٹرسٹ اسٹور کی بجائے PEM فارمیٹ میں مخصوص CA (سرٹیفکیٹ اتھارٹی) بنڈل فائل کے خلاف سرور کا SSL سرٹیفکیٹ تصدیق کرنے کا کہتا ہے۔
کب استعمال کریں
جب آپ کا سرور نجی یا اندرونی CA کے دستخط شدہ سرٹیفکیٹ استعمال کرتا ہو جو سسٹم ٹرسٹ اسٹور میں نہیں ہے تو استعمال کریں۔ یہ کارپوریٹ ماحول، Kubernetes کلسٹرز اور اندرونی PKI والے Docker سیٹ اپس میں عام ہے۔
$ curl --cacert /path/to/corporate-ca.pem https://internal-api.example.com/data

curl --cert: کلائنٹ سرٹیفکیٹ (باہمی TLS)

یہ کیا کرتا ہے
--cert فلیگ باہمی TLS (mTLS) کے لیے کلائنٹ سائیڈ سرٹیفکیٹ فراہم کرتا ہے۔ mTLS میں سرور اور کلائنٹ دونوں ایک دوسرے کی شناخت تصدیق کرنے کے لیے سرٹیفکیٹ پیش کرتے ہیں۔ سرٹیفکیٹ فائل PEM یا PKCS#12 فارمیٹ میں ہونی چاہیے۔
کب استعمال کریں
جب سرور کلائنٹ سرٹیفکیٹ تصدیق کا مطالبہ کرے تو ضروری ہے — بینکنگ APIs، حکومتی خدمات، IoT ڈیوائس کمیونیکیشن اور زیرو ٹرسٹ آرکیٹیکچرز میں عام ہے۔ جب تک کلید سرٹیفکیٹ فائل میں شامل نہ ہو ہمیشہ --key کے ساتھ جوڑیں۔
$ curl --cert client.pem --key client-key.pem https://mtls-api.example.com/secure

curl --key: کلائنٹ سرٹیفکیٹ پرائیویٹ کلید

یہ کیا کرتا ہے
--key فلیگ --cert سے فراہم کردہ کلائنٹ سرٹیفکیٹ کے ساتھ جوڑی بنانے والی پرائیویٹ کلید فائل مخصوص کرتا ہے۔ کلید سرٹیفکیٹ سے مماثل ہونی چاہیے۔ اگر کلید پاس ورڈ سے محفوظ ہے تو curl پاس ورڈ پوچھے گا (یا --pass استعمال کریں)۔
کب استعمال کریں
ہمیشہ --cert کے ساتھ استعمال کریں۔ اگر پرائیویٹ کلید پہلے سے سرٹیفکیٹ فائل میں شامل ہے (PKCS#12 / .p12 فائلوں میں عام) تو --key چھوڑ سکتے ہیں۔
$ curl --cert client.pem --key client-key.pem --cacert server-ca.pem https://api.example.com/secure

curl --tlsv1.2: کم از کم TLS 1.2 نافذ کریں

یہ کیا کرتا ہے
--tlsv1.2 فلیگ curl کو SSL/TLS ہینڈ شیک کے لیے کم از کم قابل قبول ورژن کے طور پر TLS 1.2 استعمال کرنے پر مجبور کرتا ہے۔ پرانے پروٹوکولز (TLS 1.0، 1.1، SSLv3) مسترد کیے جاتے ہیں۔
کب استعمال کریں
کم از کم سیکیورٹی معیار نافذ کرنے کے لیے استعمال کریں۔ TLS 1.2 PCI-DSS تعمیل کے لیے ضروری ہے اور تمام جدید سرورز اسے سپورٹ کرتے ہیں۔ زیادہ تر جدید curl بلڈز پہلے سے TLS 1.2+ ڈیفالٹ ہیں لیکن یہ فلیگ اسے واضح کرتا ہے۔
$ curl --tlsv1.2 -v https://secure.example.com/api 2>&1 | grep 'SSL connection'

curl --tlsv1.3: کم از کم TLS 1.3 نافذ کریں

یہ کیا کرتا ہے
--tlsv1.3 فلیگ curl کو TLS 1.3 — تیز ترین اور محفوظ ترین TLS ورژن — استعمال کرنے پر مجبور کرتا ہے۔ TLS 1.3 ہینڈ شیک میں اضافی راؤنڈ ٹرپ ختم کرتا ہے (0-RTT سپورٹ) اور تمام پرانے سائفر سوئٹس ہٹا دیتا ہے۔
کب استعمال کریں
جب آپ جانتے ہوں کہ سرور TLS 1.3 سپورٹ کرتا ہے اور آپ بہترین کارکردگی اور سیکیورٹی چاہتے ہیں تو استعمال کریں۔ نوٹ: TLS 1.3 کے لیے OpenSSL 1.1.1+ یا مطابقت پذیر TLS لائبریری ضروری ہے۔ ابھی تمام سرورز اسے سپورٹ نہیں کرتے۔
$ curl --tlsv1.3 https://modern-api.example.com/data

اضافی SSL/TLS آپشنز

--ssl-reqd

کنکشن کے لیے SSL/TLS لازمی کریں (دستیاب نہ ہونے پر ناکام ہوں)

--ciphers

کنکشن کے لیے کون سے SSL سائفرز استعمال ہونگے مخصوص کریں

--cert-type

کلائنٹ سرٹیفکیٹ کی قسم مخصوص کریں (PEM, DER, ENG, P12)

--pinnedpubkey

سرور کی پبلک کلید پن اور تصدیق کریں (HPKP طرز)

curl -x: HTTP/HTTPS Proxy استعمال کریں

یہ کیا کرتا ہے
-x (یا --proxy) فلیگ تمام curl ٹریفک کو مخصوص پراکسی سرور سے گزارتا ہے۔ فارمیٹ: [protocol://]host[:port]۔ سپورٹ شدہ پراکسی پروٹوکولز: HTTP، HTTPS، SOCKS4، SOCKS5۔
کب استعمال کریں
کارپوریٹ پراکسی سرورز، Fiddler، Charles یا mitmproxy جیسے ٹولز سے ڈیبگنگ، جغرافیائی پابندیوں کی ٹیسٹنگ یا براہ راست انٹرنیٹ رسائی دستیاب نہ ہونے پر استعمال کریں۔ http_proxy / https_proxy ماحولیاتی متغیرات بھی سیٹ کر سکتے ہیں۔
$ curl -x http://proxy.example.com:8080 https://api.example.com/data

curl --socks5: SOCKS5 Proxy استعمال کریں

یہ کیا کرتا ہے
--socks5 فلیگ curl کو TCP کنکشن کے لیے SOCKS5 پراکسی استعمال کرنے کا کہتا ہے۔ HTTP پراکسیز کے برعکس SOCKS5 TCP سطح پر کام کرتا ہے اور کوئی بھی پروٹوکول ہینڈل کر سکتا ہے — صرف HTTP نہیں۔ DNS ریزولوشن بطور ڈیفالٹ مقامی طور پر ہوتا ہے؛ پراکسی سے DNS ریزولو کرنے کے لیے --socks5-hostname استعمال کریں۔
کب استعمال کریں
SSH ٹنلز (ssh -D)، Tor نیٹ ورک رسائی یا جب پراکسی کو غیر HTTP پروٹوکولز ہینڈل کرنے ہوں تو استعمال کریں۔ SOCKS5 UDP سپورٹ کرتا ہے اور اختیاری طور پر DNS ہینڈل کر سکتا ہے — یہ اسے HTTP پراکسیز سے زیادہ لچکدار بناتا ہے۔
$ curl --socks5 localhost:1080 https://api.example.com/data

curl --proxy-user: پراکسی تصدیق

یہ کیا کرتا ہے
--proxy-user (یا -U) فلیگ پراکسی سرور کو تصدیقی اسناد بھیجتا ہے۔ فارمیٹ: user:password۔ یہ سرور تصدیق (-u) سے الگ ہے۔
کب استعمال کریں
جب پراکسی سرور تصدیق کا مطالبہ کرے تو ضروری ہے — کارپوریٹ اور انٹرپرائز نیٹ ورک ماحول میں عام ہے۔ اسناد ہدف سرور کو نہیں بلکہ پراکسی کو بھیجی جاتی ہیں۔
$ curl -x http://proxy.corp.com:3128 -U user:pass https://external-api.com/data

curl --noproxy: مخصوص ہوسٹس کے لیے پراکسی بائی پاس کریں

یہ کیا کرتا ہے
--noproxy فلیگ کاما سے الگ ہوسٹس، ڈومینز یا IP ایڈریسز کی فہرست مخصوص کرتا ہے جنہیں پراکسی بائی پاس کر کے براہ راست جڑنا چاہیے۔ وائلڈ کارڈز سپورٹ کرتا ہے: *.example.com تمام سب ڈومینز سے مماثل ہوتا ہے۔
کب استعمال کریں
localhost، اندرونی سروسز یا مخصوص ڈومینز کو پراکسی سے خارج کرنے کے لیے استعمال کریں۔ یہ اہم ہے جب پراکسی ماحولیاتی متغیرات سے عالمی طور پر سیٹ ہو لیکن کچھ ہوسٹس (جیسے مقامی سروسز) کو براہ راست رسائی چاہیے۔ تمام ہوسٹس کے لیے پراکسی بائی پاس کرنے کے لیے * استعمال کریں۔
$ curl -x http://proxy:8080 --noproxy "localhost,127.0.0.1,*.internal.com" https://localhost:3000/api

اضافی Proxy آپشنز

--socks5-hostname

پراکسی سے DNS ریزولوشن والا SOCKS5 پراکسی

--proxy-cacert

HTTPS پراکسی خود کی تصدیق کے لیے CA سرٹیفکیٹ

curl --resolve: حسب ضرورت DNS ریزولوشن

یہ کیا کرتا ہے
--resolve فلیگ مخصوص host:port جوڑی کے لیے DNS لک اپ کو مکمل طور پر بائی پاس کر کے حسب ضرورت IP ایڈریس فراہم کرتا ہے۔ فارمیٹ: host:port:address۔ متعدد --resolve اندراجات فراہم کیے جا سکتے ہیں۔
کب استعمال کریں
DNS پروپیگیشن سے پہلے ٹیسٹنگ، لوڈ بیلنسر کے پیچھے مخصوص بیک اینڈ کی تصدیق یا مقامی ڈویلپمنٹ جہاں SSL سرٹیفکیٹ ویلیڈیشن کے لیے اصلی ہوسٹ نام چاہیے کے لیے ضروری ہے۔ /etc/hosts ایڈٹ کرنے کے برعکس یہ فی درخواست اور پورٹ مخصوص ہے۔
$ curl --resolve api.example.com:443:127.0.0.1 https://api.example.com/health

curl --connect-to: کنکشن مختلف ہوسٹ پر ری ڈائریکٹ کریں

یہ کیا کرتا ہے
--connect-to فلیگ HTTP درخواست کے لیے اصل URL (بشمول Host ہیڈر اور SNI) برقرار رکھتے ہوئے TCP کنکشن کو مختلف host:port جوڑی پر ری ڈائریکٹ کرتا ہے۔ فارمیٹ: HOST1:PORT1:HOST2:PORT2۔
کب استعمال کریں
DNS یا /etc/hosts تبدیل کیے بغیر لوڈ بیلنسر کے پیچھے مخصوص بیک اینڈ سرور ٹیسٹ کرنے کے لیے استعمال کریں۔ --resolve کے برعکس یہ host:port کو host:port سے نقشہ بناتا ہے (IP سے نہیں) جو مفید ہے جب ہدف کا بھی ہوسٹ نام ہو۔
$ curl --connect-to api.example.com:443:backend1.internal:8443 https://api.example.com/health

اضافی نیٹ ورک آپشنز

--local-port

کنکشن کے لیے مقامی پورٹ نمبر یا رینج سیٹ کریں

--interface

کنکشن کو مخصوص نیٹ ورک انٹرفیس سے باندھیں

--dns-servers

سسٹم ڈیفالٹس کی بجائے حسب ضرورت DNS سرورز استعمال کریں (c-ares)

حقیقی دنیا کے SSL اور Proxy سنیریوز

یہ مثالیں ڈویلپمنٹ، CI/CD اور پروڈکشن ماحول میں عام سیکیورٹی اور نیٹ ورکنگ ٹاسکس ہینڈل کرنے کے لیے متعدد فلیگز ملاتی ہیں۔

Localhost پر HTTPS ٹیسٹنگ

سیلف سائنڈ سرٹیفکیٹ کے ساتھ مقامی طور پر ڈویلپ کرتے وقت --resolve کو --cacert (یا فوری ٹیسٹنگ کے لیے -k) کے ساتھ ملائیں۔ یہ آپ کو hosts فائل تبدیل کیے بغیر مناسب SSL/SNI کے لیے اصلی ہوسٹ نام استعمال کرنے دیتا ہے۔

$ curl --resolve myapp.local:443:127.0.0.1 --cacert local-ca.pem https://myapp.local/api/status

باہمی TLS (کلائنٹ سرٹیفکیٹ تصدیق)

کچھ APIs سرور اور کلائنٹ دونوں سے سرٹیفکیٹ پیش کرنے کا مطالبہ کرتے ہیں۔ مکمل تصدیق شدہ دو طرفہ TLS کنکشن قائم کرنے کے لیے --cert، --key اور --cacert فراہم کریں۔

$ curl --cert client.pem --key client-key.pem --cacert server-ca.pem https://mtls-api.example.com/data

تصدیق کے ساتھ کارپوریٹ پراکسی

لازمی پراکسی سرورز والے کارپوریٹ نیٹ ورکس میں پراکسی اسناد کے لیے -x کو -U کے ساتھ ملائیں۔ اندرونی سروسز کو پراکسی سے خارج کرنے کے لیے --noproxy شامل کریں۔

$ curl -x http://proxy.corp.com:3128 -U user:pass --noproxy "*.internal.corp" https://external-api.com/data

اندرونی CA والا Docker Container

جب Docker میں سروسز اندرونی CA کے سرٹیفکیٹ استعمال کریں تو CA سرٹیفکیٹ container میں ماؤنٹ کریں اور --cacert سے حوالہ دیں۔ یہ -k سے زیادہ محفوظ ہے کیونکہ یہ پھر بھی سرٹیفکیٹ چین تصدیق کرتا ہے۔

$ curl --cacert /etc/ssl/certs/internal-ca.crt https://service.docker.internal:8443/health

SSH ٹنل کے ذریعے SOCKS5 Proxy

ssh -D سے SOCKS5 پراکسی بنائیں اور --socks5 استعمال کر کے curl ٹریفک اس سے گزاریں۔ یہ bastion host کے ذریعے اندرونی سروسز تک رسائی کے لیے مفید ہے۔

$ curl --socks5 localhost:1080 https://internal-api.example.com/status

curl SSL اور Proxy کے بارے میں اکثر پوچھے جانے والے سوالات

curl میں SSL سرٹیفکیٹ تصدیق کیسے چھوڑیں؟

curl -k URL یا curl --insecure URL استعمال کریں۔ یہ تمام سرٹیفکیٹ چیکس غیر فعال کرتا ہے — میعاد ختم، ہوسٹ نام عدم مماثلت، غیر معتبر CA۔ صرف مقامی ڈویلپمنٹ کے لیے استعمال کریں۔ پروڈکشن کے لیے اصل CA سرٹیفکیٹ کے ساتھ --cacert استعمال کریں۔

curl کو سیلف سائنڈ سرٹیفکیٹ پر اعتماد کیسے دلائیں؟

آپ کے سیلف سائنڈ سرٹیفکیٹ پر دستخط کرنے والے CA سرٹیفکیٹ کی وضاحت کے لیے curl --cacert /path/to/ca.pem URL استعمال کریں۔ یہ -k سے زیادہ محفوظ ہے کیونکہ یہ سرٹیفکیٹ چین تصدیق جاری رکھتا ہے — صرف آپ کے مخصوص CA پر اعتماد کرتا ہے۔

curl کون سا TLS ورژن استعمال کر رہا ہے کیسے چیک کریں؟

curl -v URL چلائیں اور تفصیلی آؤٹ پٹ میں * SSL connection using TLSv1.x / CipherSuite لائن تلاش کریں۔ مخصوص ورژن نافذ کرنے کے لیے --tlsv1.2 یا --tlsv1.3 استعمال کریں۔

باہمی TLS (mTLS) کیا ہے اور curl کے ساتھ کیسے استعمال کریں؟

باہمی TLS کے لیے دونوں سرور اور کلائنٹ کو سرٹیفکیٹ پیش کرنا ضروری ہے۔ استعمال کریں: curl --cert client.pem --key client-key.pem --cacert server-ca.pem URL۔ --cert/--key جوڑی کلائنٹ کی تصدیق کرتی ہے؛ --cacert سرور کی تصدیق کرتا ہے۔

HTTP پراکسی کے ذریعے curl کیسے استعمال کریں؟

curl -x http://proxy:port URL استعمال کریں۔ HTTPS پراکسی کے لیے: curl -x https://proxy:port URL۔ متبادل طور پر http_proxy اور https_proxy ماحولیاتی متغیرات سیٹ کریں — curl انہیں خودکار طور پر اٹھا لیتا ہے۔

SOCKS5 پراکسی کے ساتھ curl کیسے استعمال کریں؟

مقامی DNS ریزولوشن کے لیے curl --socks5 host:port URL یا پراکسی سے DNS ریزولو کرنے کے لیے curl --socks5-hostname host:port URL استعمال کریں (رازداری/Tor کے لیے اہم)۔ SSH ٹنل مثال: ssh -D 1080 user@bastion، پھر curl --socks5 localhost:1080 URL۔

curl میں پراکسی سرور سے تصدیق کیسے کریں؟

curl -x http://proxy:port -U user:password URL استعمال کریں۔ -U (یا --proxy-user) فلیگ پراکسی کو اسناد بھیجتا ہے۔ یہ -u سے الگ ہے جو ہدف سرور سے تصدیق کرتا ہے۔

curl میں مخصوص ہوسٹس کو پراکسی سے کیسے خارج کریں؟

--noproxy "localhost,127.0.0.1,*.internal.com" استعمال کریں یا NO_PROXY ماحولیاتی متغیر سیٹ کریں۔ وائلڈ کارڈز سپورٹ کرتا ہے (*.example.com)۔ ایک درخواست کے لیے پراکسی مکمل طور پر بائی پاس کرنے کے لیے --noproxy "*" استعمال کریں۔

curl کے ساتھ localhost پر HTTPS کیسے ٹیسٹ کریں؟

فوری ٹیسٹنگ کے لیے: curl -k https://localhost:8443/۔ مناسب ویلیڈیشن کے لیے: curl --resolve myapp.local:443:127.0.0.1 --cacert local-ca.pem https://myapp.local/۔ --resolve طریقہ سرٹیفکیٹ ہوسٹ نام صحیح مماثل ہونے دیتا ہے۔

curl میں مخصوص ہوسٹ کے لیے DNS ریزولوشن کیسے اوور رائیڈ کریں؟

curl --resolve host:port:IP URL استعمال کریں۔ مثال: curl --resolve api.example.com:443:192.168.1.100 https://api.example.com/۔ یہ صرف اس host:port جوڑی کے لیے DNS بائی پاس کرتا ہے — /etc/hosts ایڈٹ کرنے کی ضرورت نہیں۔

curl میں 'SSL certificate problem: certificate has expired' کیسے ٹھیک کریں؟

سرور سرٹیفکیٹ کی میعاد ختم ہو چکی ہے۔ حل: (1) سرور پر سرٹیفکیٹ تجدید کریں، (2) CA بنڈل اپ ڈیٹ کریں: curl --cacert /path/to/updated-ca.pem URL، (3) صرف ٹیسٹنگ کے لیے: curl -k URL۔ میعاد چیک کریں: curl -v URL 2>&1 | grep expire۔

کیا پروڈکشن میں curl --insecure (-k) استعمال کرنا محفوظ ہے؟

نہیں۔ -k فلیگ تمام سرٹیفکیٹ ویلیڈیشن غیر فعال کرتا ہے — میعاد ختم، ہوسٹ نام اور ٹرسٹ چین۔ یہ آپ کے کنکشن کو مین ان دی مڈل حملوں کے لیے خطرے سے دوچار کرتا ہے۔ پروڈکشن اور CI/CD پائپ لائنز میں ہمیشہ مخصوص CA سرٹیفکیٹ کے ساتھ --cacert استعمال کریں۔