更新
This commit is contained in:
1 parent
5cd551a08e
commit
40cde540d6
33 files changed
+547
-319
No files matched your search
@@ -1,39 +1,43 @@
|
||||
---
|
||||
title: 用Node+express搭建本地https服务
|
||||
tags: []
|
||||
id: '90'
|
||||
categories:
|
||||
- - 分享
|
||||
- 分享
|
||||
tags:
|
||||
- Node
|
||||
- express
|
||||
- https
|
||||
date: 2017-01-24 15:21:05
|
||||
---
|
||||
|
||||
1.安装node环境(自行谷歌百度,不赘述) 2.安装express(自行谷歌百度,不赘述) 3.打开命令行,利用openssl生成证书文件
|
||||
|
||||
```js
|
||||
1. 安装node环境(自行谷歌百度,不赘述) 2. 安装express(自行谷歌百度,不赘述) 3. 打开命令行,利用openssl生成证书文件
|
||||
|
||||
``` js
|
||||
//生成私钥key文件
|
||||
openssl genrsa 1024 > /keys/private.pem
|
||||
|
||||
//通过私钥文件生成CSR证书签名
|
||||
openssl req -new -key /keys/private.pem -out /keys/csr.pem
|
||||
openssl req - new - key / keys / private.pem - out / keys / csr.pem
|
||||
|
||||
//通过私钥文件和CSR证书签名生成证书文件
|
||||
openssl x509 -req -days 365 -in /keys/csr.pem -signkey /keys/private.pem -out /keys/file.crt
|
||||
openssl x509 - req - days 365 - in /keys/csr.pem - signkey / keys / private.pem - out / keys / file.crt
|
||||
```
|
||||
|
||||
4.编写server文件
|
||||
|
||||
```js
|
||||
4. 编写server文件
|
||||
|
||||
``` js
|
||||
var app = require('express')();
|
||||
var fs = require('fs');
|
||||
var http = require('http');
|
||||
var https = require('https');
|
||||
|
||||
//引入私钥、证书
|
||||
var privateKey = fs.readFileSync('./keys/private.pem', 'utf8');
|
||||
var privateKey = fs.readFileSync('./keys/private.pem', 'utf8');
|
||||
var certificate = fs.readFileSync('./keys/file.crt', 'utf8');
|
||||
var credentials = {key: privateKey, cert: certificate};
|
||||
var credentials = {
|
||||
key: privateKey,
|
||||
cert: certificate
|
||||
};
|
||||
|
||||
//创建服务,设置端口号
|
||||
var httpServer = http.createServer(app);
|
||||
@@ -51,19 +55,16 @@ httpsServer.listen(SSLPORT, function() {
|
||||
|
||||
//路由
|
||||
app.get('/', function(req, res) {
|
||||
if(req.protocol === 'https') {
|
||||
if (req.protocol === 'https') {
|
||||
res.status(200).send('这是一个经过加密的https请求!');
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
res.status(200).send('这是一个普通的http请求!');
|
||||
}
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
5.启动服务
|
||||
|
||||
```js
|
||||
5. 启动服务
|
||||
|
||||
``` js
|
||||
node server.js
|
||||
```
|
||||
```
|
||||
Reference in new issue
Block a user