搭建https步骤:
-
- 生成 OpenSSL证书
-
- 使用Nodejs的https模块建立服务器
-
- 生成私钥key文件
openssl genrsa -out privatekey.pem 1024
-
- 通过私钥生成CSR证书签名
openssl req -new -key privatekey.pem -out certrequest.csr
-
- 通过私钥和证书签名生成证书文件
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certification.pem
const https = require('https')
const fs = require('fs')
const path = require('path')
const resolve = (dir) => path.join(__dirname, '..' , dir)
const options = {
key: fs.readFileSync('privatekey.pem'),
cert: fs.readFileSync('certification.pem'),
//ca: fs.readFileSync('./SSL/root_bundle.crt') //这个线上环境需要
}
const app = https.createServer(options, (req, res) => {
res.writeHead(200)
res.end('hello world\n')
})
app.listen('8001', '0.0.0.0', () => {
console.log('HTTPS Server running at https://0.0.0.0');
})
在浏览器中输入: https://localhost:8001
。
注意:
node>=9.0, http2服务无法使用...
参考地址: