Maison  >  Article  >  interface Web  >  Comment utiliser Node pour créer un service HTTPS

Comment utiliser Node pour créer un service HTTPS

青灯夜游
青灯夜游avant
2023-03-27 20:12:432243parcourir

Comment utiliser Node pour créer un service HTTPS ? L'article suivant vous présentera comment créer un service HTTPS avec Node.js. J'espère qu'il vous sera utile !

Comment utiliser Node pour créer un service HTTPS

Node.js est utilisé pour fournir des services d'arrière-plan pour les mini-programmes. Le nom de domaine doit être le protocole HTTPS. Il est très simple d'activer le service HTTP dans Node.js, comme suit :

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('服务已开启');
})

Comment utiliser Node pour créer un service HTTPSSi vous souhaitez utiliser le service HTTPS, vous avez besoin de deux étapes : 1. Vous avez besoin d'un certificat SSL 2. Utilisez le propre HTTPS de Node.js ; module.

Certificat SSL

Il existe deux manières d'obtenir un certificat SSL :

  1. Générez vous-même le certificat SSL à l'aide de l'outil openSSL [Tutoriels associés recommandés : Tutoriel vidéo Nodejs, Enseignement de la programmation ]
  2. Télécharger certaines plateformes Certificat SSL gratuit/payant fourni (recommandé)

J'utilise une plateforme cloud pour fournir un certificat gratuit

Comment utiliser Node pour créer un service HTTPS

Cliquez pour télécharger et sélectionnez le type de serveur

Comment utiliser Node pour créer un service HTTPS

Les fichiers téléchargés sont en .key、.pem为后缀,其中.key文件是base64加密私钥,.pem Le certificat crypté en base64

Comment utiliser Node pour créer un service HTTPS

utilise le propre module Https de Node.js pour ouvrir un service

Par rapport à Http, il possède un paramètre d'options supplémentaire.

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('服务已开启');
})

Étant donné que le nom de domaine lié au certificat SSL est www.linglan01.cn, lorsque j'utilise https://127.0.0.1:8080 pour accéder au service, il ne correspond pas au nom de domaine lié, et il sera bloqué, seul www.linglan01.cn est autorisé à y accéder.

Comment utiliser Node pour créer un service HTTPS

Utilisez le nom de domaine www.linglan01.cn pour un accès normal.

Comment utiliser Node pour créer un service HTTPS

Utilisez le framework Express pour activer HTTPS

Au travail, vous devez utiliser Express et d'autres frameworks de la communauté pour le développement. Il est également très simple d'activer HTTPS dans Express et d'autres frameworks. :

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('服务已开启');
})

Comment utiliser Node pour créer un service HTTPS

Résumé

Il n'est pas difficile de créer un service HTTPS dans Node.js nous a fourni un module HTTPS pour terminer rapidement la construction. Le service HTTPS ne sera en réalité utilisé que dans l'environnement en ligne. Si l'environnement local l'exige également, nous pouvons également utiliser l'outil openSSL pour générer un certificat.

Pour plus de connaissances sur les nœuds, veuillez visiter : tutoriel Nodejs !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer