openssl

首先本地需要安装 openssl,用于生成自签名证书。

$ brew install openssl

检查安装:

$ openssl version
LibreSSL 2.6.5

生成证书

执行以下命令生成证书:

openssl req -nodes -new -x509 -keyout server.key -out server.cert
Generating a 2048 bit RSA private key

执行后会提示输入一些信息,地址,组织等,可以直接回车跳过。但输入时 Common Name 时,需要确保输入 localhost

$  openssl req -nodes -new -x509 -keyout server.key -out server.cert
Generating a 2048 bit RSA private key
............+++
..........+++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:localhost

执行后会得到两个文件:

  • server.cert 自签名证书文件
  • server.key 证书私钥

服务端代码

server.js

const http = require("http");
const https = require("https");
const fs = require("fs");
const Koa = require("koa");
const app = new Koa();app.use(async ctx => {ctx.body = "hello https";
});http.createServer(app.callback()).listen(3000);
const options = {key: fs.readFileSync("./server.key", "utf8"),cert: fs.readFileSync("./server.cert", "utf8")
};
https.createServer(options, app.callback()).listen(443);

然后访问 localhost。

本地访问 https 的效果

因为是本地自签名证书的原因,并没有三方机构的认证,所以浏览器会有红色的警告。

相关资源

  • An Express HTTPS server with a self-signed certificate
  • Node.js Documentation - HTTPS

转载于:https://www.cnblogs.com/Wayou/p/koa_local_https.html

Koa 本地搭建 HTTPS 环境相关推荐

  1. 本地搭建EasyMock环境

    系列文章目录 本地搭建EasyMock环境 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 一.什么是Easy Mock 三.使用Easy Mock 1.下载 ...

  2. 给Docker中的Nginx搭建HTTPS环境

    随着苹果和微信小程序强制使用HTTPS协议传输,越来越多的公司和企业开始使用HTTPS.下面我来分享下给Docker容器中的Nginx搭建HTTPS环境 什么是HTTPS 超文本传输安全协议(英语:H ...

  3. 本地搭建K8s环境,并配置Ingress代理(1)

    书接上文,上回说到了在Linux系统搭建K8s环境,通过脚本一键处理,具体可参考<入门K8s:一键脚本搭建Linux服务器集群>. 虽然Linux系统很不错,而且也推荐都买一个做练习,但是 ...

  4. Jekyll本地搭建开发环境以及Github部署流程

    转载自: http://www.jianshu.com/p/f37a96f83d51 前言 博客从wordpres迁移到Jekyll上来了,整个过程还是很顺利的.Jekyll是什么?它是一个简单静态博 ...

  5. php本地环境搭建软件下载,用EasyPHP本地搭建PHP环境的步骤分享

    使用WordPress的朋友或许都希望在本地搭建一个WordPress,这样修改主题,测试插件就比较方便,同时也会减少在自己博客上的误操作.其实在本地搭建WordPress还是比较方便的,只需要在本地 ...

  6. php网站发布工具_7款本地搭建PHP环境工具推荐

    通常在开发PHP程序时,需要用到服务器环境来调试自己的页面.有时候仅仅是为了学习PHP程序开发,如果是出于这样的理由去购买一个空间或者服务器是完全没必要的. 本文推荐7款目前主流的PHP集成环境工具, ...

  7. easyphp mysql_用EasyPHP本地搭建PHP环境 | Wopus

    使用WordPress的朋友或许都希望在本地搭建一个WordPress,这样修改主题,测试插件就比较方便,同时也会减少在自己博客上的误操作.其实在本地搭建WordPress还是比较方便的,只需要在本地 ...

  8. easyphp+升级php,用EasyPHP本地搭建PHP环境的步骤分享

    使用WordPress的朋友或许都希望在本地搭建一个WordPress,这样修改主题,测试插件就比较方便,同时也会减少在自己博客上的误操作.其实在本地搭建WordPress还是比较方便的,只需要在本地 ...

  9. Docker中的Nginx搭建HTTPS环境

    准备 1.已安装好docker环境 2.申请好域名 3.SSL证书(可选) 一.安装Nginx docker pull nginx 查看docker镜像: docker images 二.进行配置 建 ...

最新文章

  1. [C++学习笔记](double*)malloc(n * sizeof(double));
  2. SPOJ 1811. POJ 2774 . 最大公共子串
  3. QT的QGraphicsLinearLayout类的使用
  4. atob和btoa的趣谈
  5. 消息队列(2):常见的消息队列协议
  6. createtrackbar函数_【3】OpenCV图像处理模块(10)inRange函数实现阈值化,HSV图像分割...
  7. C# 实现连连看功能
  8. 20145226夏艺华 《Java程序设计》预备作业3
  9. linux用户命令解释器,Linux下的命令解释器 ash.exe
  10. 大数据 ---(4)大数据驱动的金融业务创新(用户画像-数据架构-标签建模)
  11. granfana 使用cdn模式加速页面加载
  12. Android apk 加密方式
  13. 彻底删除顽固dll文件
  14. 飞天云动港交所上市:市值39亿港元 成港股元宇宙第一股
  15. JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...
  16. 用react-custom-scrollbars插件美化 滚动条
  17. python实践输出星星_打印星星 - Python
  18. linux使用matlab
  19. 联想460A笔记本ubuntu下关闭独立显卡
  20. mysql 从库_通过两种方式增加从库——不停止mysql服务

热门文章

  1. RGB与16进制颜色转换的原理
  2. 关于Unity四元数相乘先后顺序的问题
  3. SCRIPT1028:缺少标识符、字符串或数字 jquery ajax
  4. 框架依赖注入和普通依赖注入_依赖注入快速入门:它是什么,以及何时使用它...
  5. 机器学习编程语言_我应该选择哪种编程语言? 我应该专注于前端吗? 后端? 机器学习?...
  6. 从基于网络的安装服务器安装操作系统,PXE 概述 - Sun Fire X4800 服务器安装指南(适用于 Linux 操作系统)...
  7. 台式计算机刚换的显示屏怎么设置,台式机怎么样切换显示器
  8. ios uiview 如何刷新_UIView的重绘及布局刷新
  9. 女生做软件测试需要学习什么技术?
  10. 如何导出Fortify 17.10扫描报告