0

我想托管我自己的 https 服务器,但我生成的证书无效,并且从浏览器访问时显示连接不安全。

4

1 回答 1

1

您可以在 NodeJS 代码库中实现它,也可以http proxy使用 usingNginxApache

const crypto = require('crypto'),
  fs = require("fs"),
  http = require("http");

var privateKey = fs.readFileSync('privatekey.pem').toString();
var certificate = fs.readFileSync('certificate.pem').toString();

var credentials = crypto.createCredentials({key: privateKey, cert: certificate});

var handler = function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
};

var server = http.createServer();
server.setSecure(credentials);
server.addListener("request", handler);
server.listen(8000);

推荐使用Nginx方式

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04

在 Vhost 中添加 SSL 文件

如果您想使用免费的 SSL,请尝试 certbot,它会在虚拟主机中自动安装 SSL

https://certbot.eff.org/

于 2020-04-20T10:43:15.690 回答