Я пытаюсь установить HTTPS-сервер в моем проекте узла.
Я создал сертификат и ключ с помощью openSSL, и теперь я установил свое приложение. js основной файл примерно так
const express = require('express');
const path = require('path');
const logger = require('./middleware/logger');
const cors = require('cors');
const http = require('http');
const https = require('https');
const fs = require('fs');
const bodyParser = require('body-parser');
const session = require('express-session');
const app = express();
app.use(cors());
app.use(express.static(path.join(__dirname,'public')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(express.json());
app.use(express.urlencoded({extended:false}));
app.use('/user', require('./routes/user'));
app.use('/login', require('./routes/login'));
const port = 4000;
https.createServer({
key: fs.readFileSync('./key.pem'),
cert: fs.readFileSync('./cert.pem'),
passphrase: 'hello'
}, app)
.listen(port, ()=>{
console.log('API server runs on port ', port);
});
Если я выполняю nodemon, я не получаю ошибок и вижу API server runs on port 4000
как я должен. Но URL в моем проекте не имеет https спереди, поэтому я думаю, что протокол не изменился
Кроме того, если я пытаюсь войти в систему, я получаю POST http://localhost:4000/login net::ERR_EMPTY_RESPONSE
в консоли браузера.
Как я могу отладить это? Спасибо
Редактировать, я также использую Vue, http://localhost: 4000 / login - это конечная точка Vue, которая динамически использует протокол, поэтому, если узел использовал https, этот URL также должен иметь https