Установка HTTPS в узле не работает и ошибка конечных точек с ERR_EMPTY_RESPONSE - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь установить 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...