Как разместить сервер HTTPS с действительным сертификатом в Node.js с использованием библиотеки HTTPS - PullRequest
0 голосов
/ 09 марта 2020

Я хочу разместить свой собственный https-сервер, но сгенерированный мной сертификат недействителен, и при доступе через посредники он говорит о небезопасном соединении.

1 Ответ

0 голосов
/ 20 апреля 2020

Вы можете реализовать его в кодовой базе NodeJS или go с помощью http proxy, используя Nginx или Apache

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

Добавьте файлы SSL в Vhost

Если вы хотите go с бесплатным SSL, попробуйте certbot, он автоматически установить SSL в vhost

https://certbot.eff.org/

...