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}`)
})複製代碼
相關文章
相關標籤/搜索