小程序 体验版 快速配置https服务接口 - 项目是nodeJS配置本地https服务,不用下载源码不用付费,直接使用Git的openssh功能(亲测有效)

news2025/1/13 15:32:37

背景

学习网易云音乐小程序开发,用了老师的node JS做后端服务器,上线小程序体验版必须要https接口。

接下来就是配置NodeJs服务https踩的坑跟发现的惊喜。

配置https

下载与配置

密钥生成

1 运行命令 : openssl genrsa -out privatekey.pem 1024

2 运行命令 : openssl req -new -key privatekey.pem -out certrequest.csr

3 运行命令 :openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem

到此,在项目文件夹里面生成三个密钥文件

把上面生成的三个密钥文件复制到node项目,创建启动脚本

 启动nodeJS 后端服务:

遇到问题Openss不认识

1. 'Openssl' is not recognized as an internal or external command

原因是未在windows系统安装Openssl,这个不是系统自带,需要自己去下载安装

源码网址 /source/index.html

下载: 这个下载比较,慢慢等一下

       1)网站:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions,点击如 图选择完整版;

 或者用百度网盘下载:

链接:https://pan.baidu.com/s/1PRw1rEDP853KkujUJdaAKA?pwd=8qz0 
提取码:8qz0

下载完成之后安装:;

 安装完成之后要求打赏10元,一次性配置完成。不管。

先管理员看看安装情况 :显示还是未认识

要收钱,弃~~~

快捷实现配置密钥(已经安装git情况下)惊喜!!!!!

无解了,然后搜索了一下电脑发现很多地方都有openSSh这些东西,

之前用git配置ssh密钥,想着能不能用这个git软件现在实现,接着随便找了个目录,右键打开  git控制窗口

然后在git bath批处理窗口 ,执行3个生成密钥文件命令:

1 运行命令 : openssl genrsa -out privatekey.pem 1024

2 运行命令 : openssl req -new -key privatekey.pem -out certrequest.csr

3 运行命令 :openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem

最后执行:

openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem 

生成3个文件,复制到项目根目录下的一个新建key的目录

 certrequest.csr

privatekey.pem

certificate.pem

 然后创建服务启动脚本 :

http与https同时服务源码:在项目根目录下创建: httpsAndHttp.js, 然后把下面的代码复制进去,

var SSLPORT = 499; //https 端口 当 https 使用默认端口的时候可能会出现如下报错,把默认443修改成其它不被占用的端口就可以正常访问。
var app = require('express')();
var fs = require('fs');
var http = require('http');
var https = require('https');

var privateKey  = fs.readFileSync('./key/privatekey.pem', 'utf8'); //密钥路径,编码
var certificate = fs.readFileSync('./key/certificate.pem', 'utf8');
var credentials = {key: privateKey, cert: certificate};

var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);
var PORT = 3030; //http 端口
// var SSLPORT = 443; //https 端口
var SSLPORT = 499; //https 端口

httpServer.listen(PORT, function() {
  console.log('HTTP Server is running on: http://localhost:%s', PORT);
});

httpsServer.listen(SSLPORT, function() {
  console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT);
});

// Welcome
app.get('/', function(req, res) {
  if(req.protocol === 'https') {
    res.status(200).send('Welcome https!');
  }
  else {
    res.status(200).send('Welcome http!');
  }
});

 加密不用443,改成了499端口,防止冲突。然后,在webstorm里的终端指令窗口,执行

node httpsAndHttp.js

 启动成功,打开验证:OK--- 开心

打开网页,输入 

https://localhost:499/

 提示不安全,不用管,点击高级,里面有个继续访问的按钮 。

 

 参考:node配置本地https服务_菜鸟驿站2020的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BST有缺陷--红黑树(RBT)应运而生

1.首先介绍一下什么是BST(二叉查找树) 若其左子树非空,则左子树上所有节点的值都小于根节点的值若其右子树非空,则右子树上所有节点的值都大于根节点的值其左右子树都是一棵二叉查找树二叉排序树通过中序遍历可以得到递增序列 如下…

技能树-网络爬虫-selenium

文章目录 前言一、selenium二、selenium 测试用例总结 前言 大家好,我是空空star,本篇给大家分享一下《技能树-网络爬虫-selenium》。 一、selenium Selenium是web自动化测试工具集,爬虫可以利用其实现对页面动态资源的采集,对于…

一位老程序员的忠告:别想着靠技术生存一辈子

注:本文系转载。 笔者目前是自己单干,但此前有多年在从事软件开发工作,回头想想自己,特别想对那些初学JAVA/DOT、NET技术的朋友说点心里话,希望我们的体会多少能给你们一些启发。 一、 在一个地方工作8小时就是“穷”…

Python多线程与多进程教程:全面解析、代码案例与优化技巧

文章目录 引言多线程多线程概述案例1:使用多线程实现并发下载文件案例2:使用多线程处理CPU密集型任务 使用threading模块案例1:自定义线程类并启动线程案例2:使用锁保护共享资源 线程同步与互斥案例:使用锁实现线程安全…

css用法总结

1. 块级元素合并时边框重叠问题的解决方案 设置边框2px 红色 如果不做处理,仅仅添加边框则会是这个样子 设置处理后的样式 代码展示 2. 拥有边框的div , hover时的展示效果 代码展示 3. img 和 文字环绕展示 代码展示 设置左浮动即可 4. text-align: center; 可…

Linux——Samba文件共享服务

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。 个人主页:小李会科技的…

Go语言基础-基础语法

前言: \textcolor{Green}{前言:} 前言: 💞这个专栏就专门来记录一下寒假参加的第五期字节跳动训练营 💞从这个专栏里面可以迅速获得Go的知识 本文主要是根据今天所学(链接放在了最后)总结记录的…

please specify ‘programme‘ in launch.json

故障现象: 在windows下点击F5,以运行vscode代码,在屏幕右下角出现这个错误提醒; 故障原因: 在配置文件(settings.json或者launch.json)中,缺少“program”这个参数配置&#xff1b…

SpringBoot 如何使用 Actuator 进行应用程序监控

SpringBoot 如何使用 Actuator 进行应用程序监控 在现代的应用程序开发中,应用程序监控是非常重要的,因为它可以帮助我们快速发现和解决问题。Spring Boot Actuator 是 Spring Boot 提供的一个强大的监控和管理工具,它可以帮助我们监控和管理…

0003Java程序设计-SSM+JSP现代家庭教育网站

摘 要 本毕业设计的内容是设计并且实现一个基于java技术的现代家庭教育网站。它是在Windows下,以MYSQL为数据库开发平台,java技术和Tomcat网络信息服务作为应用服务器。现代家庭教育网站的功能已基本实现,主要包括主页、个人中心、会员管理、…

Maven如何创建Maven web项目

1、创建一个新的模块: 1.1 使用骨架点一下,这里 1.2 找到maven-archetype-webapp项目,选中点击,一路next就行。 1.3 删除不必要的maven配置:(这里我不需要,针对自己情况而定) 可以从name这里开…

figma设计软件专业版教育优惠学生使用edu邮箱免费教程

产品介绍 今天一个买家发了一个链接问是否可以用,本站也是第一次见到,就测试了下可以使用教育优惠后准备分享给大家。本站的大多数教育优惠线报其实都是很多网友买家提供的。 Figma是一款用于数字项目的基于云的设计和原型的设计工具软件。 这样做的目…

Python应用实例(一)外星人入侵(二)

1.添加飞船图像 下面将飞船加入游戏中。为了在屏幕上绘制玩家的飞船,我们将加载一幅图像,再使用Pygame方法blit()绘制它。 为游戏选择素材时,务必要注意许可。最安全、最不费钱的方式是使用Pixabay等网站提供的免费图形,无须授权…

强者游戏-敢来挑战否-Amazon DeepRacer League

Amazon DeepRacer中国峰会总决赛 Amazon DeepRacer 自动驾驶赛车名校邀请赛会在6月27日-28日举办的Amazon DeepRacer中国峰会总决赛时同步启动。勇哥的目标是拿个比较好的名词。大家如果有参加这次活动的可以过来一起搞哦。下面我来具体介绍一下这次峰会,以及比赛的…

PyTorch C++ 前端是 PyTorch 机器学习框架的纯 C++ 接口

使用 PyTorch C 前端 PyTorch C 前端是 PyTorch 机器学习框架的纯 C 接口。 虽然 PyTorch 的主要接口自然是 Python,但此 Python API 位于强大的 C 代码库之上,提供基本的数据结构和功能,例如张量和自动微分。 C 前端公开了纯 C 11 API&…

常见面试题之线程基础知识

1. 线程和进程的区别? 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的。 当一…

DataStructure01|ArrayList和顺序表

ArrayList与顺序表 1.线性表 ​ 线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列… ​ 线性表在逻辑上是线性结构,也就说…

产品设计.从用户体验五要素出发,谈如何设计产品

用户调研--产品定位---产品方案---视觉设计 作者 | 渐渐见减减简https://www.zcool.com.cn/article/ZMTEyNDA2NA.html 用户体验五要素是一种产品分析与设计的方法论,帮助我们以正确方式从0到1设计一款产品。 1 战略层 企业做一个产品前,都要明确几个问题…

多目标樽海鞘算法MATLAB实战(附源码)

今天给大家分享多目标樽海鞘算法,主要从算法原理和代码实战展开。需要了解智能算法、机器学习、深度学习和信号处理相关理论的可以后台私信哦,下一期分享的内容就是你想了解的内容。 一、算法原理 上一篇分享的SSA算法能够驱动salps向食物来源靠近&…

【Flutter】包管理(6)Flutter 状态管理 Provider 深入使用指南

文章目录 一、 前言二、 ProxyProvider 的使用三、 处理异步数据四、 性能优化五、 版本信息六、 总结一、 前言 在我们的上一篇文章中,我们介绍了 Flutter 中 Provider 包的基本使用。 在这篇文章中,我们将深入探讨 Provider 的高级使用方法,包括如何使用 ProxyProvider,…