1.下载安装openssl(用于生成秘钥颁发证书)

mac自带

window:https://slproweb.com/products/Win32OpenSSL.html

2.生成CA证书,CA钥和CA公钥

生成CA私钥,并用des3算法进行加密:openssl genrsa -des3 -out ca-pri-key.pem 1024

生成CA公钥:openssl req -new -key ca-pri-key.pem -out ca-pub-key.pem

生成CA证书:openssl x509 -req -in ca-pub-key.pem -signkey ca-pri-key.pem -out ca-cert.crt

3.生成服务器公钥私钥

生成服服务私钥:openssl genrsa -out server-key.pem 1024

生成服务器公钥:openssl req -new -key server-key.pem -out server-scr.pem

4.机构颁发证书

openssl x509 -req -CA ca-cert.crt -CAkey ca-pri-key.pem -CAcreateserial -in server-scr.pem -out server-cert.crt

5.https配置

const http = require("https");
const url = require("url");
const path = require("path");
const fs = require("fs");/*** 返回文件状态* @param {*} filename * @returns */
async function getStat(filename) {try {return await fs.promises.stat(filename);} catch {return null;}
}/*** 得到要处理的文件内容*/
async function getFileContent(url1) {const urlObj = url.parse(url1);let filename; //要处理的文件路径filename = path.resolve(__dirname, "public", urlObj.pathname.substr(1));//得到请求文件路径let stat = await getStat(filename); //得到文件状态if (!stat) {//文件不存在return null;} else if (stat.isDirectory()) {//文件是一个目录filename = path.resolve(__dirname,"public",urlObj.pathname.substr(1),"index.html");stat = await getStat(filename);  //重新获取index.html文件状态if (!stat) {return null;} else {return await fs.promises.readFile(filename);  //返回文件}} else {return await fs.promises.readFile(filename); //不是目录返回文件}
}const server = http.createServer({key:fs.readFileSync(path.resolve(__dirname,"./server-key.pem")),cert:fs.readFileSync(path.resolve(__dirname,"./server-cert.crt"))
},async (req, reps) => {const url = req.url;const content = await getFileContent(url);if (content) {reps.write(content);}else{reps.statusCode = 404;reps.write("Not Found");}reps.end();
})server.listen(443);
server.on("listening", () => {console.log("监听端口443");
})

6.访问

手动搭建一个https服务器,并颁发证书相关推荐

  1. 从零开始搭建一个HTTPS网站

    转自:http://cjting.me/web2.0/2016-09-05-%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%8 ...

  2. Linux中搭建一个ftp服务器详解

    来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道: 控制通道 , 数据通道 在ftp协议中,控制连接均是由客户端发起的,而数据连接有 ...

  3. 在自己电脑上搭建一个FTP服务器

    在自己电脑上搭建一个FTP服务器 因为项目需要,第一次搭建FTP,也是在博客上找的经验,写这篇博客,主要是想记录一下,留个笔记,以防后面需要. 本文是在不借助工具的情况下在自己电脑上搭建FTP服务器. ...

  4. 使用Flask搭建一个流媒体服务器

    摘要 收到前不久订阅的PythonWeekly发过来的一个邮件通知,由Miguel写的一篇介绍如何使用Flask搭建一个流媒体服务器的文章,思路很新颖也很有意思.你可以点击这里阅读英文原文.或者跟随本 ...

  5. 利用IPV6搭建一个家庭服务器

    1.1. 序言 众所周知,中国移动宽带没有给家庭用户分配一个ipv4的公网账号,但是会给一个动态的公网IPV6账号,我们接下来就用这个IPV6搭建一个家庭服务器了 1.2. 查看公网IPV6信息 1. ...

  6. 如何搭建一个数据库服务器平台

    原 如何搭建一个数据库服务器平台https://blog.csdn.net/tianlesoftware/article/details/5602291版权声明: https://blog.csdn. ...

  7. 在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  8. php开发ftp服务器搭建教程,在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  9. python打造流媒体服务器_使用Flask搭建一个流媒体服务器

    摘要 收到前不久订阅的PythonWeekly发过来的一个邮件通知,由Miguel写的一篇介绍如何使用Flask搭建一个流媒体服务器的文章,思路很新颖也很有意思.你可以点击这里阅读英文原文.或者跟随本 ...

最新文章

  1. 为什么让A.I.“顶天立地”需要6个多月?
  2. 鸿蒙系统布局,华为的布局,开始了!第二款鸿蒙系统产品,即将亮相
  3. Java EE 7社区调查结果!
  4. 中国大学MOOC-陈越、何钦铭-数据结构-2019春期末考试(题目+部分解答)
  5. HDU 5371 Manacher Hotaru's problem
  6. 三分钟小课堂-----------------docker(三)增删改查命令
  7. matlab中sqp的算法原理_利用fmincon函数中的SQP算法求解非线性规划问题,模型本身.......
  8. Python partial
  9. Vmware 15 安装 win7 虚拟机 (初学者操作与详解教程)
  10. steam 集换式卡牌挂卡软件 ASF Linux服务器搭建
  11. WebSocket实现聊天功能
  12. exter与static的用法
  13. 小米HTML查看器记住密码,小米路由器3管理密码_默认密码是多少?-192路由网
  14. 怎么把pdf文件转换成word方法分享
  15. 经典同步时序逻辑电路分析汇总(第八道)(同步三进制计数器)
  16. 微信公众号开发系列-玩转微信开发-目录汇总
  17. 易知微当选中国互联网协会数字孪生技术应用工作委员会成员单位
  18. 20160808某公司嵌入式面试总结(加个人答案)
  19. FX5UPLC的各种以太网通讯,SOCKET 2台PLC简单通讯 走网线
  20. 对OSGB倾斜摄影数据进行范围裁剪

热门文章

  1. pdf转换成excel转换器
  2. html静态网站登陆验证,静态页面js加密URL密码验证
  3. 联想拯救者Y9000P和华硕ROG幻16哪个好
  4. 什么是DML与DDL
  5. 1.SPSS概述(安装与界面基本认识)
  6. 东南大学洪伟教授评述:毫米波与太赫兹技术
  7. 服务器和网页接口,WebApi架构详解,WebApi接口搭建与部署WebApi服务器
  8. 使用Websphere的TPTP工具进行性能分析和监控
  9. 小学生python编程写游戏_小学生开始学Python,开发AI的首选编程语言:推荐一波Python书单...
  10. VMware 常见问题集锦