ऊपर दिए गए उत्तर आंशिक थे। मैंने इस काम को करने में बहुत समय लगाया है, यह पागल है। मेरे भविष्य के लिए ध्यान दें, यहाँ आपको वही करने की आवश्यकता है:
मैं क्रोम 65 के साथ विंडोज 10 पर काम कर रहा हूं। फ़ायरफ़ॉक्स अच्छी तरह से व्यवहार कर रहा है - बस एक सुरक्षा अपवाद के रूप में लोकलहोस्ट की पुष्टि करें और यह काम करेगा। क्रोम नहीं है:
स्टेप 1. अपने बैकेंड में, नामक एक फोल्डर बनाएं security
। हम इसके अंदर काम करेंगे।
चरण 2।req.cnf
निम्नलिखित सामग्री के साथ नाम अनुरोध फ़ाइल बनाएँ (क्रेडिट जाता है: @Anshul )
req.cnf:
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = Country initials like US, RO, GE
ST = State
L = Location
O = Organization Name
OU = Organizational Unit
CN = www.localhost.com
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.localhost.com
DNS.2 = localhost.com
DNS.3 = localhost
इस क्षेत्र की एक व्याख्या यहाँ है ।
चरण 3. टर्मिनल में सुरक्षा फ़ोल्डर में नेविगेट करें और निम्न कमांड टाइप करें:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cert.key -out cert.pem -config req.cnf -sha256
चरण 4. फिर security
फ़ोल्डर के बाहर , अपने एक्सप्रेस ऐप में कुछ इस तरह से करें: (क्रेडिट @ डिएगो मेलो को जाता है)
backend
/security
/server.js
server.js:
const express = require('express')
const app = express()
const https = require('https')
const fs = require('fs')
const port = 3000
app.get('/', (req, res) => {
res.send("IT'S WORKING!")
})
const httpsOptions = {
key: fs.readFileSync('./security/cert.key'),
cert: fs.readFileSync('./security/cert.pem')
}
const server = https.createServer(httpsOptions, app)
.listen(port, () => {
console.log('server running at ' + port)
})
चरण 5. सर्वर शुरू करें node server.js
, और https: // localhost: 3000 पर जाएं ।
इस बिंदु पर हमारे पास सर्वर सेटअप है। लेकिन ब्राउज़र को चेतावनी संदेश दिखाना चाहिए।
हमें क्रोम / विंडोज़ सर्टिफिकेट स्टोर में, CA विश्वसनीय प्रमाणपत्र प्राधिकरण के रूप में, अपने स्व-हस्ताक्षरित प्रमाण पत्र को पंजीकृत करने की आवश्यकता है। (क्रोम इसे विंडोज़ में भी सेव करता है)
चरण 6. क्रोम में देव उपकरण खोलें, सुरक्षा पैनल पर जाएं, फिर देखें प्रमाण पत्र पर क्लिक करें।
स्टेप 7. डिटेल्स पैनल में जाएं, कॉपी फाइल पर क्लिक करें, फिर जब सर्टिफिकेट एक्सपोर्ट विजार्ड दिखे, तो नीचे दिए गए नेक्स्ट पर क्लिक करें:
चरण 8. डीईआर एन्कोडिंग को छोड़ दें, अगले पर क्लिक करें, चुनें Browse
, इसे डेस्कटॉप जैसे एक्सेस एक्सेस फ़ोल्डर में डाल दें और प्रमाण पत्र को नाम दें localhost.cer, then click Save and then Finish.
। आपको डेस्कटॉप पर अपना प्रमाणपत्र देखने में सक्षम होना चाहिए।
स्टेप 9.chrome://settings/
url बॉक्स में डालकर ओपन करें । नीचे, नीचे क्लिक करें Advanced / Advanced Options
, फिर खोजने के लिए नीचे स्क्रॉल करें Manage Certificates
।
चरण 10. विश्वसनीय रूट प्रमाणीकरण प्राधिकारी पैनल पर जाएं, और आयात पर क्लिक करें।
हम localhost.cer
सर्टिफिकेट आयात करेंगे जो हमने अभी चरण 8 में निर्यात किया है।
चरण 11. क्लिक करें ब्राउज़ करें, ढूंढें localhost.cer
, डिफ़ॉल्ट मान छोड़ें क्लिक करें अगली बार एक गुच्छा - जब तक यह चेतावनी प्रकट नहीं होती है, तब तक हाँ क्लिक करें।
चरण 12. सब कुछ बंद करें, और क्रोम को पुनरारंभ करें। फिर, जब https://localhost:3000
आप को देखने जाना चाहिए: