[server.js] remove greenlock; 补充完整 httpall 时也启动 http; [config.js] 默认在开发环境下 http 模式
This commit is contained in:
@@ -16,29 +16,16 @@ const inject = require('./common/Provider').inject;
|
||||
module.exports = () => inject(function runServer (SysConfig) { // 配置并启动 Web 服务
|
||||
mylog.info('★★★★★★★★ Starting Server ★★★★★★★★');
|
||||
|
||||
const greenlock = SysConfig && SysConfig.sslType==='greenlock' ? require('greenlock-express').create({
|
||||
version: 'draft-11',
|
||||
server: SysConfig.netType==='devnet' // for test: acme-staging-v02
|
||||
? 'https://acme-staging-v02.api.letsencrypt.org/directory'
|
||||
: 'https://acme-v02.api.letsencrypt.org/directory',
|
||||
agreeTos: true,
|
||||
communityMember: false,
|
||||
store: require('greenlock-store-fs'),
|
||||
email: 'ssl@faronear.org',
|
||||
approvedDomains: SysConfig.sslDomainList,
|
||||
configDir: path.resolve(__dirname, 'ssl'),
|
||||
app,
|
||||
}) : null;
|
||||
|
||||
/** * 启动 Web 服务 ***/
|
||||
let webServer;
|
||||
SysConfig.port = parseInt(SysConfig.port) || (SysConfig.protocol === 'http' ? 80 : SysConfig.protocol === 'https' ? 443 : undefined) // 端口默认为 http:80, https:443, httpall: 80|443
|
||||
if (SysConfig.protocol === 'http') {
|
||||
webServer = require('http').createServer(app).listen(SysConfig.port, function (err) {
|
||||
if (err) mylog.info(err);
|
||||
else mylog.info(`Server listening on ${SysConfig.protocol}://${SysConfig.host}:${SysConfig.port} with for ${app.settings.env} environment`);
|
||||
});
|
||||
} else if (SysConfig.protocol === 'https') {
|
||||
webServer = require('https').createServer(SysConfig.sslType === 'greenlock' ? greenlock.httpsOptions : {
|
||||
webServer = require('https').createServer({
|
||||
key: fs.readFileSync(SysConfig.sslKey),
|
||||
cert: fs.readFileSync(SysConfig.sslCert),
|
||||
}, app).listen(SysConfig.port, function (err) {
|
||||
@@ -47,25 +34,23 @@ module.exports = () => inject(function runServer (SysConfig) { // 配置并启
|
||||
});
|
||||
} else if ('httpall' === SysConfig.protocol) {
|
||||
let portHttp = SysConfig.port ? SysConfig.port : 80;
|
||||
// let portHttps = (SysConfig.port && SysConfig.port !== 80) ? SysConfig.port + 443 : 443
|
||||
let portHttps = 443;
|
||||
if (SysConfig.sslType === 'greenlock') {
|
||||
webServer = greenlock.listen(portHttp, portHttps, function (err) {
|
||||
if (err) console.log(err);
|
||||
else console.log(`Server listening on [${SysConfig.protocol}] http=>https://${SysConfig.host}:${portHttp}=>${portHttps} for ${app.settings.env} environment`);
|
||||
});
|
||||
} else {
|
||||
webServer = require('https').createServer({
|
||||
key: fs.readFileSync(SysConfig.sslKey),
|
||||
cert: fs.readFileSync(SysConfig.sslCert),
|
||||
// ca: [ fs.readFileSync(SysConfig.sslCA) ] // only for self-signed certificate: https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener
|
||||
}, app).listen(portHttps, function (err) {
|
||||
if (err) console.log(err);
|
||||
else console.log(`Server listening on [${SysConfig.protocol}] https://${SysConfig.host}:${portHttps} for ${app.settings.env} environment`);
|
||||
});
|
||||
}
|
||||
let portHttps = (SysConfig.port && SysConfig.port !== 80) ? SysConfig.port + 443 : 443
|
||||
require('http').createServer(server.all('*', function (ask, reply) {
|
||||
reply.redirect(`https://${SysConfig.host}:${portHttps}`)
|
||||
})).listen(portHttp, function(err) {
|
||||
if (err) console.log(err)
|
||||
else console.log(`Server listening on [${wo.Config.protocol}] http://${SysConfig.host}:${portHttp} for ${app.settings.env} environment`)
|
||||
})
|
||||
webServer = require('https').createServer({
|
||||
key: fs.readFileSync(SysConfig.sslKey),
|
||||
cert: fs.readFileSync(SysConfig.sslCert),
|
||||
// ca: [ fs.readFileSync(SysConfig.sslCA) ] // only for self-signed certificate: https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener
|
||||
}, app).listen(portHttps, function (err) {
|
||||
if (err) console.log(err);
|
||||
else console.log(`Server listening on [${SysConfig.protocol}] https://${SysConfig.host}:${portHttps} for ${app.settings.env} environment`);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// const socket = Socket(webServer);
|
||||
return webServer;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user