Принудительно SSL на Экспресс-сервере с SPDY - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь настроить HTTPS для всего приложения, которое использует Express 4.16.3 и spdy для поддержки HTTP / 2.Навигация по схеме https URL работает, но, по-видимому, для http перенаправление не выполняется, поскольку не регистрируются отладочные сообщения.

const app = express();
const spdy = require('spdy');
app.use(function enforce_ssl(req, res, next)
{
    console.log(`${req.method} ${req.protocol}://${req.headers.host}${req.originalUrl}`);
    if(req.secure)
        next();
    else
        res.redirect(301, `https://${req.headers.host}${req.originalUrl}`);
});
<...>
const server = spdy.createServer(
{
    cert: fs.readFileSync(path.resolve(cwd, 'stub-cert.pem')),
    key: fs.readFileSync(path.resolve(cwd, 'stub-privkey.pem')),
}, app);
server.listen(port, (err) =>
{
    if(err)
    {
        console.error(err);
        process.exit(1);
    }
    else
        console.log(`Listening on port ${port}!`);
});
server.on('error', (err) => console.error(err));

Я получаю страницу ERR_EMPTY_RESPONSE при навигации по «небезопасному» протоколу,Как это исправить?

...