给你的express项目部署https

作者:norion时间:2017年4月25日评论次数:0 条

express是node最热门的web框架之一,express的生态也是非常的丰富,目前公司正有一个项目是用express搭建的,现在项目开发快完成了,现在遇到一个问题,就是产品那边想要https,毕竟现在https大行其道,那node如何同时支持https与http?只需要做代码做一些小改造:

#!/usr/bin/env node
let port = process.env.PORT || 3000
let app = require('../app')

if (!process.env.NODE_ENV) {
    let debug = require('debug')('app')
    debug(`Listening on ${port}`)
}

let fs = require('fs')
let path = require('path')
let http = require('http')
let https = require('https')

let httpServer = http.createServer(app)
let httpsServer = https.createServer({
    key: fs.readFileSync(path.join(`${__dirname}/public.key`), 'utf8'),
    cert: fs.readFileSync(path.join(`${__dirname}/private.cer`), 'utf8')
}, app)

httpServer.listen(port, () => {
    console.log('httpServer listening at port %d', port)
})

httpsServer.listen(443, () => {
    console.log('httpsServer listening at port %d', 443)
})

其中,require(‘../app’)是一个express实例,在这里做一些中间件的use。pubilc.key和private.cer是公钥和私钥。

上一篇: 根据岁数算生肖

下一篇:使用cas模块搭建cas的node client

相关文章

评论

评论已关闭。