Node.js: 一个刚刚够用的 HTTPS 服务器

有时候,须要建立一个https服务器,以便测试使用。使用node.js完成此项工做仍是比较简单的。另外,为了能够建立https,须要openssl工具栈。javascript

首先建立证书:

openssl genrsa -out key.pem
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem
rm csr.pem复制代码

而后能够看到生成的两个文件:java

$ls *.pem 
cert.pem    key.pem复制代码

建立node.js文件

编辑js源代码文件(server.js)node

var https = require('https');
var fs = require('fs');
var options = {
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem')
};
var a = https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end(JSON.stringify({foo:"bar"}))
}).listen(8000);复制代码

##尝试json

运行服务器:服务器

node server.js复制代码

而后访问:app

https://localhost:8000复制代码

能够看到json文件的话,就算成功。工具

若是是http服务器

这样状况,不须要证书,代码改为下面的就能够了。测试

const http = require('http')  
const port = 3000
const requestHandler = (request, response) => {  
  console.log(request.url)
  response.end(JSON.stringify({foo:"bar"}))
}
const server = http.createServer(requestHandler)
server.listen(port, (err) => {  
  if (err) {
    return console.log('something bad happened', err)
  }
  console.log(`server is listening on ${port}`)
})复制代码
相关文章
相关标签/搜索