Các câu trả lời ở trên là một phần. Tôi đã dành rất nhiều thời gian để làm việc này, nó thật điên rồ. Lưu ý đến bản thân tương lai của tôi, đây là những gì bạn cần làm:
Tôi đang làm việc trên Windows 10, với Chrome 65. Firefox đang hoạt động tốt - chỉ cần xác nhận localhost là một ngoại lệ bảo mật và nó sẽ hoạt động. Chrome không:
Bước 1. trong phần phụ trợ của bạn, tạo một thư mục có tên security
. chúng tôi sẽ làm việc bên trong nó.
Bước 2. tạo tệp cấu hình yêu cầu có tên req.cnf
với nội dung sau (tín dụng chuyển đến: @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
Một lời giải thích về các lĩnh vực này là ở đây .
Bước 3. điều hướng đến thư mục bảo mật trong thiết bị đầu cuối và gõ lệnh sau:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cert.key -out cert.pem -config req.cnf -sha256
Bước 4. sau đó bên ngoài security
thư mục, trong ứng dụng thể hiện của bạn làm một cái gì đó như thế này: (tín dụng vào @Diego Mello)
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)
})
Bước 5. khởi động máy chủ,node server.js
và truy cập https: // localhost: 3000 .
Tại thời điểm này, chúng tôi có thiết lập máy chủ. Nhưng trình duyệt sẽ hiển thị một thông báo cảnh báo.
Chúng tôi cần đăng ký chứng chỉ tự ký, với tư cách là Cơ quan cấp chứng chỉ tin cậy CA, trong kho lưu trữ chứng chỉ chrome / windows.(chrome cũng lưu cái này trong windows,)
Bước 6. mở Dev Tools bằng chrome, chuyển đến Bảng bảo mật, sau đó bấm vào Xem Chứng chỉ.
Bước 7. vào bảng Chi tiết, bấm Sao chép tệp, sau đó khi Trình hướng dẫn xuất chứng chỉ xuất hiện, bấm Tiếp theo như bên dưới:
Bước 8. để lại mã hóa DER, nhấp vào tiếp theo, chọn Browse
, đặt nó vào một thư mục dễ truy cập như Desktop và đặt tên cho chứng chỉlocalhost.cer, then click Save and then Finish.
. Bạn sẽ có thể thấy chứng chỉ của bạn trên Desktop.
Bước 9. Mở chrome://settings/
bằng cách chèn nó vào hộp url. Xuống bên dưới, nhấp vào Advanced / Advanced Options
, sau đó cuộn xuống để tìm Manage Certificates
.
Bước 10. Chuyển đến bảng điều khiển ủy quyền chứng chỉ gốc đáng tin cậy và nhấp vào nhập.
Chúng tôi sẽ nhập localhost.cer
chứng chỉ mà chúng tôi vừa xuất xong ở bước 8.
Bước 11. nhấp vào duyệt, tìm localhost.cer
, để lại các giá trị mặc định nhấp vào một loạt lần tiếp theo - cho đến khi cảnh báo này xuất hiện, nhấp vào có.
Bước 12. đóng mọi thứ và khởi động lại chrome. Sau đó, khi đi đến https://localhost:3000
bạn sẽ thấy: