How to use Node to build HTTPS service? The following article will introduce to you how to build Https service with Node.js. I hope it will be helpful to you!
#Node.js is used to provide background services for mini programs, and the domain name must be HTTPS protocol. It is very simple to open the HTTP service in Node.js, as follows:
const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html;charset=utf8' }); res.end('访问成功') }); server.listen(8080, () => { console.log('服务已开启'); })
If you want to use the HTTPS service, you need two steps: 1. You need an SSL certificate; 2. Use Node.js’ own HTTPS module.
SSL Certificate
There are two ways to obtain an SSL certificate:
- Generate the SSL certificate yourself with the help of the openSSL tool [Related tutorial recommendations: nodejs video tutorial, Programming teaching]
- Download the free/paid SSL certificate provided by some platforms (recommended)
I use a cloud platform to provide free certificates
Click to download and select the server type
The downloaded files have the suffixes .key and .pem
respectively. The .key
file is the base64 encrypted private key, and the .pem
file is base64 encrypted. Certificate
Use Node.js's own Https module to open a service
Compared with Http, it has one more options parameter.
const https = require('https'); const fs = require('fs'); const path = require('path'); const options = { key: fs.readFileSync(path.join(__dirname, './ssl/9499016_www.linglan01.cn.key')), cert: fs.readFileSync(path.join(__dirname, './ssl/9499016_www.linglan01.cn.pem')), }; const server = https.createServer(options, (req, res) => { res.writeHead(200, { 'Content-Type': 'text/html;charset=utf8' }); res.end('访问成功') }); server.listen(8080, () => { console.log('服务已开启'); })
Because the domain name I bound to the SSL certificate is www.linglan01.cn, when I use https://127.0.0.1:8080 to access the service, If the bound domain name does not match, access will be blocked and only www.linglan01.cn will be allowed to access.
Use the domain name www.linglan01.cn for normal access.
Use the Express framework to enable Https
At work, I definitely use the community's Express and other frameworks for development. I want to use Express and other frameworks It is also very easy to enable Https in Express. Take Express as an example:
const https = require('https'); const fs = require('fs'); const path = require('path'); const express = require('express') const app = express(); app.get('/chat', (req, res) => { res.send('我是https') }); const options = { key: fs.readFileSync(path.join(__dirname, './ssl/9499016_www.linglan01.cn.key')), cert: fs.readFileSync(path.join(__dirname, './ssl/9499016_www.linglan01.cn.pem')), }; const server = https.createServer(options, app); server.listen(8080, () => { console.log('服务已开启'); })
Summary
It is not difficult to build Https service in Node.js. Node.js has provided us with the Https module to quickly complete the construction. The Https service will actually only be used in the online environment. If the local environment also requires it, we can also use the openSSL tool to generate a certificate.
For more node-related knowledge, please visit: nodejs tutorial!
The above is the detailed content of How to use Node to build HTTPS service. For more information, please follow other related articles on the PHP Chinese website!

Node.js 有 LTS 版本和 Current 版本,这两种版本有什么区别?下面本篇文章带大家快速掌握 Node.js 版本的区别,并聊聊如何选择合适的版本,希望对大家有所帮助!

Node.js 的是一门单线程的语言,它基于 V8 引擎开发,v8 在设计之初是在浏览器端对 JavaScript 语言的解析运行引擎,其最大的特点是单线程,这样的设计避免了一些多线程状态同步问题,使得其更轻量化易上手。

Node.js如何进行版本管理?下面本篇文章给大家整理分享3 款非常实用的 Node.js 版本管理工具,希望对大家有所帮助!

IDEA中怎么运行node?下面本篇文章给大家介绍一下IDEA中配置安装并运行node.js的方法,希望对大家有所帮助!

怎么用Node.js爬取网页的数据并写入Excel文件?下面本篇文章通过一个实例来讲解一下用Node.js爬取网页的数据并生成Excel文件的方法,希望对大家有所帮助!

npm 是 JavaScript世界的包管理工具,并且是 Node.js平台的默认包管理工具。通过 npm可以安装、共享、分发代码,管理项目依赖关系。本篇文章带大家了解一下npm的原理,希望对大家有所帮助!

怎么使用Node将Excel转为JSON?下面本篇文章给大家介绍一下Node中转换Excel成JSON的方法,希望对大家有所帮助!

二维码在生活中无处不在,之前我也使用过java的zxing库生成过二维码,功能很强大。但是其实nodejs上也有很多第三方库能够生成二维码。今天我们就是使用qrcode这个库来生成二维码。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools