有時候,須要建立一個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複製代碼
編輯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文件的話,就算成功。工具
這樣狀況,不須要證書,代碼改爲下面的就能夠了。測試
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}`)
})複製代碼