Koa 本地搭建 HTTPS 环境

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 的效果

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

相关资源

原文地址:https://www.cnblogs.com/Wayou/p/koa_local_https.html

时间: 2024-10-07 21:40:54

Koa 本地搭建 HTTPS 环境的相关文章

【重学Node.js 第1&2篇】本地搭建Node环境并起RESTful Api服务

本地搭建Node环境并起RESTful Api服务 课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://github.com/hellozhangran/happy-egg-server 说明:本想分两章讲环境搭建和起api服务,但操作下来确实过于简单.但考虑到整个系列的完整性也不能不讲,那就把这两篇合二为一吧 本地搭建Node环境 开发环境主要是指Node.MongoDB.本人是用的mac电脑,

Windows本地搭建Edusoho环境

Windows搭建Edusoho比Linux还要轻松的多.因为有很多环境集成工具如xampp.wampserver.phpstudy等.基本上安装号wampserver工具,直接将edusoho项目扔到www目录地下并配置即可. 另外为什么要本地搭建呢?本地搭建的目的是方便调试.当然了也不排除有部分公司在Linux系统上完全使用命令行的方式开发应用程序. 步骤如下: 去官方网站下载最新的源码包 官方网站地址为http://www.edusoho.com/open/show Windows搭建LA

iOS之在本地搭建IPv6环境测试你的app

IPv6的简介 IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索). PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦,保证手机只在 Wi-Fi 下上网,以免手机在连接不到网络时候,会默认跳转到使用 蜂窝移动网络(即2G.3G.4G流量) 上网. 本地 Mac 搭建 IPv6 测试环境 想要测试你的 APP 是否在 IPv6 环境下运转是否正常,你所需要的就是一台用非Wi-Fi方式上网的Mac电脑.如果你用的是 M

本地搭建php环境

AppServ 是 PHP 网页架站工具组合包,所包含的软件有:Apache[.Apache Monitor.PHP.MySQL.phpMyAdmin等,如果您的本地机器没有安装过php.mysql等系统,那么用这个软件则可以让你迅速搭建完整的底层环境. 1.下载appserv安装包,根据提示一步一步操作. 2.选择安装目录,方便管理:选择全部安装包,进入下一步: 3.配置Apache中的Server Name.Email以及HTTP服务的端口,Server Name一般设置为localhost

Windows 上通过本地搭建 Jekyll环境

一 准备Ruby环境 1 我们首先须要安装Ruby.从站点下载Ruby 上下载Ruby最新版和对应的DevKit. 我下载的是Ruby 2.1.4 (x64)和DevKit-mingw64-6 .注意:两者的安装文件夹,不得出现空格.比方Program Files这样的文件夹是不能有的.建议是装在盘的根文件夹 2. 配置安装环境.环境变量中新增环境变量名 RUBY_HOME ,变量值为 你的Ruby安装文件夹(我的是E:/ruby21-x64),然后在path中增加 "%RUBY_HOME%\b

noodjs(koa)+mysql搭建服务器环境及基本的增删改查操作

手动创建项目文件 1.在指定目录下,右击创建项目文件夹. 2.使用git init 命令把此文件下内容变成可由git进行版本控制的文件. 3.执行"npm init -y"命令,创建package.json文件,初始化 4.执行"npm init koa"命令,安装koa,此时项目路径下会生成一个package-lock.json文件. 创建server 1.创建一个app.js文件,然后将以下代码复制进去 const Koa = require('koa'); c

本地搭建开发环境开发redis程序

1.因为redis是部署在linux环境下,远程要想连接到linux,首先将linux防火墙关闭: 1 service iptables stop

利用Docker搭建本地https环境的完整步骤

利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 什么是 HTTPS 我们都知道 Web App 的运行都是建立在网络应用层 HTTP 协议的,HTTP 协议能够进行客户端和服务器之间的请求和返回.但是这个过程是明文传输的,当请求被抓包后传输内容很容易被篡改,这对用户的安全性来说是极其严重的威胁.PWA 应

Windows8.1+Eclipse搭建Hadoop2.7.2本地模式开发环境

下面介绍如何在Windows8.1上搭建hadoop2.7.2的本地模式开发环境,为后期做mapreduce的开发做准备. 在搭建开发环境之前,首先选择开发工具,就是大家都很熟悉的Eclipse(本人这次使用的是eclipse4.4.2版本),Eclipse提供了hadoop的插件,我们通过这个插件,就可以在eclipse中编写mapreduce.但是,这个插件可能会随着hadoop的版本升级或者eclipse的版本升级,而需要相应的去进行编译.所以,在我们开发之前,学会编译这个eclipse的