Node启动https服务器的教程

 更新时间:2018年03月18日 14:18:43   作者:任乃千  
这篇文章主要介绍了Node启动https服务器的教程,有node原生版本,express 版本,koa版本,具体各个版本的代码讲解大家参考下本文

首先你需要生成https证书,可以去付费的网站购买或者找一些免费的网站,可能会是key或者crt或者pem结尾的。不同格式之间可以通过OpenSSL转换,如:

openssl x509 -in mycert.crt -out mycert.pem -outform PEM

Node原生版本:

const https = require('https')
const path = require('path')
const fs = require('fs')
// 根据项目的路径导入生成的证书文件
const privateKey = fs.readFileSync(path.join(__dirname, './certificate/private.key'), 'utf8')
const certificate = fs.readFileSync(path.join(__dirname, './certificate/certificate.crt'), 'utf8')
const credentials = {
 key: privateKey,
 cert: certificate,
}
// 创建https服务器实例
const httpsServer = https.createServer(credentials, async (req, res) => {
 res.writeHead(200)
 res.end('Hello World!')
})
// 设置https的访问端口号
const SSLPORT = 443
// 启动服务器,监听对应的端口
httpsServer.listen(SSLPORT, () => {
 console.log(`HTTPS Server is running on: https://localhost:${SSLPORT}`)
})

express版本

const express = require('express')
const path = require('path')
const fs = require('fs')
const https = require('https')
// 根据项目的路径导入生成的证书文件
const privateKey = fs.readFileSync(path.join(__dirname, './certificate/private.key'), 'utf8')
const certificate = fs.readFileSync(path.join(__dirname, './certificate/certificate.crt'), 'utf8')
const credentials = {
 key: privateKey,
 cert: certificate,
}
// 创建express实例
const app = express()
// 处理请求
app.get('/', async (req, res) => {
 res.status(200).send('Hello World!')
})
// 创建https服务器实例
const httpsServer = https.createServer(credentials, app)
// 设置https的访问端口号
const SSLPORT = 443
// 启动服务器,监听对应的端口
httpsServer.listen(SSLPORT, () => {
 console.log(`HTTPS Server is running on: https://localhost:${SSLPORT}`)
})

koa版本

const koa = require('koa')
const path = require('path')
const fs = require('fs')
const https = require('https')
// 根据项目的路径导入生成的证书文件
const privateKey = fs.readFileSync(path.join(__dirname, './certificate/private.key'), 'utf8')
const certificate = fs.readFileSync(path.join(__dirname, './certificate/certificate.crt'), 'utf8')
const credentials = {
 key: privateKey,
 cert: certificate,
}
// 创建koa实例
const app = koa()
// 处理请求
app.use(async ctx => {
 ctx.body = 'Hello World!'
})
// 创建https服务器实例
const httpsServer = https.createServer(credentials, app.callback())
// 设置https的访问端口号
const SSLPORT = 443
// 启动服务器,监听对应的端口
httpsServer.listen(SSLPORT, () => {
 console.log(`HTTPS Server is running on: https://localhost:${SSLPORT}`)
})

总结

以上所述是小编给大家介绍的Node启动https服务器的教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • Win2008 蓝屏漏洞揭秘

    Win2008 蓝屏漏洞揭秘

    蓝屏漏洞威胁的是服务器操作系统Windows Server 2008,这意味着如果Windows Server 2008蓝屏,将导致服务器停止服务……
    2009-10-10
  • Memcached 入门介绍(安装与配置)

    Memcached 入门介绍(安装与配置)

    Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度
    2014-08-08
  • 正确开启Win2008远程桌面的方法

    正确开启Win2008远程桌面的方法

    正确开启windows2008系统的远程桌面功能,需要的朋友可以参考下。
    2011-03-03
  • 网站下载文件时 地址加jdfwkey=的说明

    网站下载文件时 地址加jdfwkey=的说明

    因WEB服务器前置硬防,地址加?jdfwkey=影响收录的解决办法
    2009-12-12
  • 安装Nacos服务器的详细过程

    安装Nacos服务器的详细过程

    Nacos是Dynamic Naming and Configuration Service的首字母简称,一个由阿里开发,用于云原始应用动态服务发现、配置管理和服务管理平台,这篇文章主要介绍了安装Nacos服务器的详细过程,需要的朋友可以参考下
    2024-03-03
  • Linux下搭建HTTP服务器完成图片显示功能

    Linux下搭建HTTP服务器完成图片显示功能

    这篇文章作为Linux下socket(TCP)网络编程的练习,使用C语言代码搭建一个简单的HTTP服务器,完成与浏览器之间的交互,最终在浏览器上显示一张图片;通过这个例子可以巩固socket里多线程使用,也可以方便学习了解HTTP协议
    2022-04-04
  • 服务器常用磁盘阵列RAID原理、种类及性能优缺点对比

    服务器常用磁盘阵列RAID原理、种类及性能优缺点对比

    这篇文章主要介绍了磁盘阵列RAID原理、种类及性能优缺点对比,根据硬件与硬盘数量选择适合自己的磁盘阵列很重要,需要的朋友可以参考下
    2018-05-05
  • Webpack部署本地服务器的方法

    Webpack部署本地服务器的方法

    webpack-dev-server 是一个用于开发环境的 Web 服务器,它集成了 Webpack,并提供了实时重新加载和热替换等功能,以下是一个简单的 webpack-dev-server 配置和使用示例,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • 在vscode中使用Git的教程

    在vscode中使用Git的教程

    这篇文章主要介绍了在vscode中使用Git的教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Win2003下cwRsyncServer服务端与cwRsync客户端数据同步实例教程

    Win2003下cwRsyncServer服务端与cwRsync客户端数据同步实例教程

    这篇文章主要介绍了Win2003下cwRsyncServer服务端与cwRsync客户端数据同步实例教程,需要的朋友可以参考下
    2015-07-07

最新评论