Koa HTTPS-соединение с модулем koa-sslify без обратного прокси

Я пытаюсь установить HTTPS-соединение для сервера Koa с помощью этого модуля https://www.npmjs.com/package/koa-sslify, но я получаю сообщение об ошибке "AssertionError: app.use () требует функции генератора"

'use strict';
var app = require('application'),
    enforceHttps = require('koa-sslify'),
    config = require('config'),
    fs = require('fs'),
    path = require('path'),
    routes = fs.readdirSync(path.join(__dirname, '../routing')).sort();

routes.forEach(function (route) {
    require('../routing/' + route);
});

// Force HTTPS on all page
app.use(enforceHttps({
  trustProtoHeader: true
}));

app.listen(config.server.port,config.server.host);

UPD:

Вместо этого я использовал NGINX, потому что, вероятно, он работает лучше и использует меньше ресурсов.


person Yury Shapkarin    schedule 27.03.2018    source источник
comment
может есть другой способ сделать это?   -  person Yury Shapkarin    schedule 27.03.2018


Ответы (1)


попробуйте таким образом, но лучше используйте NGINX в качестве обратного прокси-сервера

const Koa = require('koa');
const https = require('https');
const fs = require('fs');
const { default: enforceHttps } = require('koa-sslify');

const app = new Koa();

// Force HTTPS using default resolver
app.use(enforceHttps({
  port: 443
}));

// index page
app.use(ctx => {
  ctx.body = `hello world from ${ctx.request.url}`;
});

// SSL options
const options = {
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.crt')
}

// start the server
https.createServer(options, app.callback()).listen(443);
person VBetsun    schedule 13.01.2019
comment
Вместо этого я использовал nginx и забыл об этом вопросе. Но все равно спасибо. - person Yury Shapkarin; 13.01.2019
comment
о, я вижу, вы пишете о NGINX, отлично, я думаю то же самое, потому что, вероятно, NGINX работает лучше и использует меньше ресурсов. - person Yury Shapkarin; 13.01.2019