嘗試訪問我使用NodeJS創建的HTTPS服務器時出現錯誤。使用Node.js創建HTTPS服務器
我該怎麼做:
1.首先所有的:generate a self-signed certificate:
openssl genrsa -out key.pem
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem
2.創建簡單的NodeJS HTTPS服務器 -
var https = require('https');
var fs = require('fs');
var server_port = 8080;
var httpsOptions = {
key: fs.readFileSync('\key.pem'),
cert: fs.readFileSync('\cert.pem')
};
var app = function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}
https.createServer(httpsOptions, app).listen(server_port);
運行服務器:node main.js(文件名) 服務器正在運行,但是當我嘗試訪問時https://localhost:8080
連接到服務器。其結果是:
由於服務器是自簽名,瀏覽器就會哭。您需要將證書添加到瀏覽器的信任存儲區。 –
@NehalJWani這是否仍然適用於生產服務器?我對自簽名證書感到好奇 – sova
@sova對於面向生產服務器的公衆,您必須購買證書,或者從letsencrypt或startcom獲得免費的證書。 –