zoukankan      html  css  js  c++  java
  • Node启动https服务器

    首先你需要生成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}`)
    })
    
    
  • 相关阅读:
    恢复误删的进程在使用的文件
    Linux系统CPU频率调整工具使用
    ubuntu opencv的使用
    ubuntu14.04 安装PCL
    boost 错误报告
    Ubuntu 查看软件版本
    Ubuntu14.04下安装glog
    PCL 编译中遇到 error C4996: 'pcl::SAC_SAMPLE_SIZE'
    EXE DLL等可执行程序添加版本号版权等信息
    ubuntu16.04中将python3设置为默认
  • 原文地址:https://www.cnblogs.com/rennaiqian/p/8594985.html
Copyright © 2011-2022 走看看