- लोकल में HTTPS क्यों इस्तेमाल करना चाहिए
- प्रोडक्शन एनवायरनमेंट के जितना संभव हो उतना समान
- मजबूत सुरक्षा नीतियाँ लागू करना - Content Security Policy(CSP)
- Service Worker, Secure/Prefixed cookies जैसी कुछ browser सुविधाओं का उपयोग
- localhost की जगह किसी खास hostname का उपयोग
- लोकल में HTTPS इस्तेमाल करना
- Self-Signed Certificate बनाना
→ सबसे अच्छा टूल OpenSSL है, लेकिन सरल mkcert से भी काम चल जाता है
→ mkcert -install से लोकल CA इंस्टॉल करें और mkcert localhost से key जनरेट करें
- Node.js से localhost key का उपयोग करके HTTPS server बनाना
7 टिप्पणियां
CFSSL कैसा रहेगा? मैं भी अब तक बस OpenSSL ही इस्तेमाल करता आया हूँ, लेकिन हाल ही में जो किताब पढ़ रहा हूँ उसमें CFSSL का परिचय दिया गया था। इसके फायदे-नुकसान या तुलना के बारे में जानने की जिज्ञासा है।
https://web.dev/i18n/ko/how-to-use-local-https/ ऐसा एक लेख भी था।
लोकल सर्वर पर स्मार्टफ़ोन कनेक्शन टेस्ट करते समय लगता है कि HTTPS ज़रूरी है,
लेकिन मेरे उपयोग के मामलों में अक्सर इंटरनेट के बिना लोकल नेटवर्क होता है,
इसलिए ngrok जैसी tunneling का उपयोग नहीं कर सकता।
ऊपर दिया गया certificate बनाने का तरीका काम तो करता है, लेकिन उसे मैनेज करना बहुत सुविधाजनक नहीं था।
क्या कोई दूसरा तरीका हो सकता है?
अगर डेवलपमेंट मशीन Windows आधारित है, तो Fiddler जैसा प्रॉक्सी चलाकर iPhone या Android फोन का proxy address Fiddler के access address पर सेट करने से डेवलपमेंट मशीन की
hostsफ़ाइल आदि लागू हो जाती हैं.(फोन पर Fiddler के self-signed root certificate को इंस्टॉल करने की प्रक्रिया ज़रूरी है)
लगता है कि mitmproxy जैसी किसी चीज़ से भी यह संभव होगा.
https://hi.news.hada.io/topic?id=6151
मैंने यह solution इस्तेमाल करके देखा है। इससे मैं बहुत खुश हुआ था...
मेरे लिए दिक्कत यह थी कि ngrok लोकल environment में, जहाँ इंटरनेट भी नहीं चलता, काम नहीं करता था,
और bandwidth limit की वजह से मैं पर्याप्त testing भी नहीं कर पाता था.;;
संदर्भ के लिए, Windows में भी PowerShell में
New-SelfSignedCertificateनाम का एक कमांड होता है, इसलिए अलग से कोई बाहरी टूल इंस्टॉल किए बिना self-signed certificate बनाया जा सकता है। पहले मैंने इसी से certificate file निकालने के लिए एक PowerShell script लिखकर इस्तेमाल किया था.https://www.sysnet.pe.kr/2/0/12588