Я развертываю js-сервер узла, используя
npm run start
, и он работает нормально. Теперь я хотел добавить закрытый ключ ssl, поэтому я добавил ниже https_server.js файл:
var https = require('https');
var fs = require('fs');
var https_options = {
key: fs.readFileSync("/home/user/org.key"),
cert: fs.readFileSync('/home/user/cert.pem')
};
https.createServer(https_options , function (req, res) {
res.writeHead(200);
res.end("Welcome to Node.js HTTPS Servern");
}).listen(3000,'0.0.0.0')
И затем я запускаю
node https_server.js
Так что, когда я запускаю это, вместо домашней страницы веб-приложения отображается «Добро пожаловать в Node.js HTTPS Servern». Должен ли я изменить эту часть
res.end("Welcome to Node.js HTTPS Servern");
Любая помощь приветствуется.
РЕДАКТИРОВАТЬ
Я пытался также
var fs = require('fs');
var net = require('net');
var http = require('http');
var https = require('https');
var baseAddress = 3000;
var redirectAddress = 3001;
var httpsAddress = 3002;
var httpsOptions = {
key: fs.readFileSync('/home/user/org.key'),
cert: fs.readFileSync('/home/user/cert.pem')
};
net.createServer(tcpConnection).listen(baseAddress);
http.createServer(httpConnection).listen(redirectAddress);
https.createServer(httpsOptions, httpsConnection).listen(httpsAddress);
function tcpConnection(conn) {
conn.once('data', function (buf) {
// A TLS handshake record starts with byte 22.
var address = (buf[0] === 22) ? httpsAddress : redirectAddress;
var proxy = net.createConnection(address, function () {
proxy.write(buf);
conn.pipe(proxy).pipe(conn);
});
});
}
function httpConnection(req, res) {
var host = req.headers['host'];
res.writeHead(301, { "Location": "https://" + host + req.url });
res.end();
}
function httpsConnection(req, res) {
res.writeHead(200, { 'Content-Length': '5' });
res.end('HTTPS');
}
Но этот также указывает на «HTTPS», а не на домашнюю страницу приложения