尝试访问我使用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获得免费的证书。 –