没有反向代理的 koa-sslify 模块的 Koa HTTPS 连接

Koa HTTPS connection with koa-sslify module Without Reverse Proxy

我尝试使用该模块为 Koa 服务器建立 HTTPS 连接 https://www.npmjs.com/package/koa-sslify,但出现错误 "AssertionError: app.use() requires a generator function"

'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);

更新:

我改用 NGINX,因为它可能工作得更好并且使用更少的资源

尝试这种方式,但最好使用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);