发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

使用Node.js和Express.js架设HTTP/2服务器

         
2016-07-15 16:37
赞助商链接

使用Node.js+Express.js架设http2服务器是非常简单。首先在服务器端使用openssl产生密钥文件,然后在js文件中包含这个密钥文件。


$ mkdir http2-express
$ cd http2-express
$ openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
...
$ openssl rsa -passin pass:x -in server.pass.key -out server.key
writing RSA key
$ rm server.pass.key
$ openssl req -new -key server.key -out server.csr

$ openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt


下一步,初始化package.json和下载spdy和express:

npm init
npm i express spdy --save


创建一个index.js作为端口,头部输入:

const port = 3000
const spdy = require('spdy')
const express = require('express')
const path = require('path')
const fs = require('fs')

const app = express()


下一步定义Express路由:

app.get('*', (req, res) => {
res
.status(200)
.json({message: 'ok'})
})


下面需要加载key和密钥文件:

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


最后,将SSL选项和Express实例一起加载:

spdy
.createServer(options, app)
.listen(port, (error) => {
if (error) {
console.error(error)
return process.exit(1)
} else {
console.log('Listening on port: ' + port + '.')
}
})


源码见:github

Easy HTTP/2 Server with Node.js and Express.js

NodeJS      http2     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com