Yukarıdaki cevaplar kısmiydi. Bunu çalıştırmak için çok zaman harcadım, bu çılgınlık. Gelecekteki halime bir not, işte yapmanız gerekenler:
Chrome 65 ile Windows 10 üzerinde çalışıyorum. Firefox iyi davranıyor - sadece localhost'u bir güvenlik istisnası olarak onaylayın ve çalışacaktır. Chrome şunları yapmaz:
Adım 1. arka ucunuzda adlı bir klasör oluşturun security
. onun içinde çalışacağız.
Adım 2.req.cnf
Aşağıdaki içeriğe sahip bir istek yapılandırma dosyası oluşturun (kredi: @Anshul'a gider )
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
Bu alanların bir açıklaması burada .
Adım 3. Terminaldeki güvenlik klasörüne gidin ve aşağıdaki komutu yazın:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cert.key -out cert.pem -config req.cnf -sha256
Adım 4. ardından security
klasörün dışında, ekspres uygulamanızda şöyle bir şey yapın: (kredi @Diego Mello'ya gider)
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)
})
Adım 5. sunucuyu başlatın node server.js
ve https: // localhost: 3000'e gidin .
Bu noktada sunucu kurulumuna sahibiz. Ancak tarayıcı bir uyarı mesajı göstermelidir.
Kendinden imzalı sertifikamızı, bir CA güvenilir Sertifika Yetkilisi olarak chrome / windows sertifika deposuna kaydetmemiz gerekiyor. (Chrome bunu ayrıca pencerelere kaydeder)
Adım 6. Chrome'da Geliştirme Araçlarını açın, Güvenlik paneline gidin, ardından Sertifikayı Görüntüle'yi tıklayın.
Adım 7. Ayrıntılar paneline gidin, Dosyayı Kopyala'yı tıklayın, ardından Sertifika Verme Sihirbazı göründüğünde aşağıdaki gibi İleri'yi tıklayın:
Adım 8. DER kodlamasından çıkın, ileriye tıklayın, seçin Browse
, Masaüstü gibi erişimi kolay bir klasöre koyun ve sertifikayı adlandırın localhost.cer, then click Save and then Finish.
. Sertifikanızı Masaüstünde görebilmeniz gerekir.
Adım 9.chrome://settings/
URL kutusuna ekleyerek açın . Aşağıya tıklayın Advanced / Advanced Options
, ardından bulmak için aşağı kaydırın Manage Certificates
.
Adım 10. Güvenilen Kök Sertifika Yetkilileri paneline gidin ve içe aktar'a tıklayın.
localhost.cer
8. adımda ihracatını yeni bitirdiğimiz sertifikayı içe aktaracağız .
Adım 11. Gözat'a tıklayın, bulun, localhost.cer
varsayılan değerleri bırakın, birkaç kez ileri tıklayın - bu uyarı görünene kadar evet'i tıklayın.
Adım 12. her şeyi kapatın ve chrome'u yeniden başlatın. Sonra, ne zaman gideceğinizi https://localhost:3000
görmelisiniz: