註:我在 macOS 上運行了這些命令。Linux 應該以相同的方式運行。我不能保證 Windows 的運行結果。
在專案的根目錄下運行以下命令:
openssl req -x509 -newkey rsa:2048 -keyout keytmp.pem -out cert.pem -days 365
現在運行以下命令:
openssl rsa -in keytmp.pem -out key.pem
現在你應該在資料夾中有 cert.pem
和 key.pem
兩個文件。
使用 Express/Node.js,你可以使用以下代碼加載證書和私鑰:
const fs = require('fs')
const https = require('https')
const app = express()
app.get('/', (req, res) => {
res.send('Hello HTTPS!')
})
https.createServer({
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
}, app).listen(3000, () => {
console.log('Listening...')
})
如果你使用的是 create-react-app
,請將 package.json
文件中的 start
腳本更改為:
"start": "export HTTPS=true&&SSL\_CRT\_FILE=cert.pem&&SSL\_KEY\_FILE=key.pem react-scripts start",
請參考你的框架/庫的文檔以瞭解如何將證書和私鑰傳遞給應用程序。