nodejs发布静态https服务器

1、先用 npm init 创建一个package.json,然后添加依赖 node-static ,package.json 如下:

{"name": "freeswitch","version": "1.0.0","description": "test freeswitch for webrtc","main": "server.js","dependencies": {"node-static": "^0.7.9"},"devDependencies": {},"scripts": {"test": "echo \"Error: no test specified\" && exit 1","start": "node server.js"},"keywords": ["webrtc"],"author": "foruok","license": "ISC"
}

2、执行npm install 

3、创建 server.js 文件,内容如下:

var fs = require("fs");
var static = require('node-static');var file = new static.Server('./public');const options = {key: fs.readFileSync('./server.key'),cert: fs.readFileSync('./server.crt')
};require('https').createServer(options, function (request, response) {request.addListener('end', function () {file.serve(request, response);}).resume();
}).listen(8000);

3、启动服务

<!DOCTYPE html>
<html><head><title>test</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="Author" content="foruok" /><meta name="description" content="JsSIP based example web application." /><style type="text/css"></style>
</head>
<body>hello world!</body>
</html>

新建public目录,并且随便在 public 目录下放个什么 html 文件,比如 test.html 。

用 npm start 启动服务,可以在 Chrome 浏览器内输入地址 https://127.0.0.1:8000/test.html测试一下。

如果能看到,说明服务正常。

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

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

相关文章

20种数据相似性计算方法

不同的相似性计算方法适用于不同类型的数据和问题。在选择相似性计算方法时&#xff0c;需根据数据的特性、问题的定义以及所关注的数据特点来做出合适的选择。 本文归纳了20种数据相似性计算方法以及它们的特点和适用场景&#xff0c;并给出了参考python实现。 相似性计算方法…

windows10默认浏览器总是自动更改为Edge浏览器

在设置的默认应用设置中把默认浏览器改为chrome或其他之后他自动又会改回Edge。不得不说*软真的狗。 解决办法&#xff1a; 后来发现在Edge浏览器的设置中有这么一个选项&#xff0c;会很无耻的默认是Edge。把它关掉后重新设置就行了。

NPM 常用命令(一)

目录 1、npm 1.1 简介 1.2 依赖性 1.3 安装方式 2、npm access 2.1 命令描述 2.2 详情 3、npm adduser 3.1 描述 4、npm audit 4.1 简介 4.2 审计签名 4.3 操作示例 4.4 配置 audit-level dry-run force json package-lock-only omit foreground-scripts …

软考-中级-软件设计师之路

前言&#xff1a;两个月时间复习软考基本知识&#xff0c;下面做知识总结。 1. 计算机概论 第1章主要介绍计算机系统基础知识、计算机体系结构以及安全性、可靠性和系统性能评测基础。 2. 程序设计语言基础知识 第2章主要介绍程序设计语言的基本概念与基本成分&#xff0c;…

从项目中突显技能:在面试中讲述你的编程故事

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

mongodb建用户

玛德折腾了2个小时&#xff0c;、mongodb 建用户。艹 [rootk8-master mongodb]# cat docker-compose.yaml version: 2 services: mongodb: container_name: mongodb_2.0 image: mongo:4.4 restart: always environment: TZ: Asia/Shanghai MONGO_INITDB_ROOT_USERNAME: admin M…

【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手

文章目录 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话&#xff0c;在下面操作步骤中…

reduxreact-redux

redux redux组成部分&#xff1a;state,action,reducer,store store主要职责&#xff1a; 维持应用的state 提供getState()方法获取state 提供dispatch()方法发送action 通过subscribe()来注册监听 通过subscribe()返回值来注销监听 用法&#xff1a; action:必须要有return返…

TDengine函数大全-字符串函数

以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 字符串函数 TDengine函数大全CHAR_LENGTHCONCATCONCA…

结构体的简单介绍

目录 概念&#xff1a; 与数组类比&#xff1a; 结构体声明&#xff1a; 注意&#xff1a; 结构体变量、全局变量、局部变量&#xff1a; 结构体声明中包含其他结构体变量&#xff1a; 结构体变量的初始化&#xff1a; 包含了其他结构体变量的初始化&#xff1a; 结构体…

SPI2外设驱动-W25Q64 SPI接口初始化

前言 &#xff08;1&#xff09;本系列是基于STM32的项目笔记&#xff0c;内容涵盖了STM32各种外设的使用&#xff0c;由浅入深。 &#xff08;2&#xff09;小编使用的单片机是STM32F105RCT6&#xff0c;项目笔记基于小编的实际项目&#xff0c;但是博客中的内容适用于各种单片…

carbondata优化小姐

一&#xff0c;carbondata高效原因 carbondata文件是hdfs的列式存储格式 查询速度是spark SQL的10倍&#xff0c;通过多种索引技术和多次push down优化&#xff0c;对TB级别数据快速响应 高效的压缩&#xff0c;使用轻量级和和重量级压缩组合的方式&#xff0c;减少60~80%的空间…

【FlowDroid】一、处理流程学习

FlowDroid 一、处理流程学习 下载配置源码概况代码逻辑分析analyzeAPKFilerunInfoflowprocessEntryPointcalculateCallbacks(sourcesAndSinks)再次回到processEntryPoint 自己做一些笔记 下载配置 参照我前面的文章可以使用FlowDroid安装初体验 为了看代码了解FlowDroid如何处…

homeassistant ubuntu自启动 网络设置

命令行安装virtualbox 或者安装包 hass官网下载 haos_ova-10.4.vdi virtualbox 装hass 最少2G内存 其他省略 自启动&#xff1a; gnome-session-properties 添加 VBoxManage startvm hass --type headless hass为自己的虚拟机名字 网络配置如下&#xff1a; 要全部打开

【云原生】Kubernetes容器编排工具

目录 1. K8S介绍 1.1 k8s的由来 下载地址 1.2 docker编排与k8s编排相比 1.3 传统后端部署与k8s 的对比 传统部署 k8s部署 ​2. k8s的集群架构与组件 &#xff08;1&#xff09; Kube-apiserver &#xff08;2&#xff09;Kube-controller-manager &#xff08;3&a…

微信小程序开发教学系列(9)- 小程序页面优化

第9章 小程序页面优化 在开发小程序时&#xff0c;页面性能优化是非常重要的一项任务。优化页面性能可以提升用户体验&#xff0c;使小程序更加流畅和高效。本章将介绍一些常见的页面优化方法和技巧&#xff0c;帮助您提升小程序的性能。 9.1 页面性能优化的基本原则 页面性…

vue实现按需加载的多种方式

1.import动态导入 const Home () > import( /* webpackChunkName: "Home" */ /views/Home.vue); 2.使用vue异步组件resolve 这种方式没有成功 //const 组件名 resolve > require([‘组件路径’],resolve) //&#xff08;这种情况下一个组件生成一个js文件…

vue+elementui前端rules校验缓存问题

场景&#xff1a; 最近公司要求项目前端不要用element-ui&#xff0c;改为使用公司其他组开发的ui组件。 这个ui组件使用基本就是安装后&#xff0c;直接全局替换elementui的el-前缀为公司开发的xx-前缀。 替换之后&#xff0c;发现替换倒是很丝滑&#xff0c;问题不大。可以运…

大场景图片切图python脚本

大场景图片切图python脚本 同时对原图和xml标注进行切割 优点&#xff1a; 1、使用了overlap的分割方法 2、对边界的小目标框进行了省略 # -*- coding: utf-8 -*- """ Author : zengwb Time : 2021/4/17 Software: PyCharm """ import os i…

Python项目日志打点功能实现方法

一、入门介绍 1.1 logging和logger的区别 logging和logger是Python的logging模块中的两个关键概念&#xff0c;它们在功能和用途上有明显的区别。 logging是一个Python标准库&#xff0c;是一个用于记录日志的标准模块。它提供了一个灵活的框架&#xff0c;可以用来记录不同级…