Bagaimana untuk menggunakan Node untuk membina perkhidmatan HTTPS? Artikel berikut akan memperkenalkan kepada anda cara membina perkhidmatan Https dengan Node.js saya harap ia akan membantu anda!

Node.js digunakan untuk menyediakan perkhidmatan latar belakang untuk program mini dan nama domain mestilah protokol HTTPS. Sangat mudah untuk membuka perkhidmatan HTTP dalam Node.js, seperti berikut:
1 2 3 4 5 6 7 8 | 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('服务已开启');
})
|
Salin selepas log masuk
Jika anda ingin menggunakan perkhidmatan HTTPS, anda memerlukan dua langkah: 1. Anda memerlukan sijil SSL ; 2. Gunakan modul HTTPS Node.js sendiri.
Sijil SSL
Terdapat dua cara untuk mendapatkan sijil SSL:
- Jana sendiri sijil SSL dengan bantuan < Alat 🎜>openSSL [Tutorial berkaitan yang disyorkan: tutorial video nodejs, Pengajaran pengaturcaraan]
Muat turun sijil SSL percuma/berbayar yang disediakan oleh sesetengah platform (disyorkan)
Saya menggunakan platform awan untuk menyediakan sijil percuma

Klik untuk memuat turun dan pilih jenis pelayan

Fail yang dimuat turun diakhiri dengan
, dengan fail .key、.pem
ialah kunci persendirian yang disulitkan base64 dan fail .key
ialah sijil yang disulitkan base64 .pem

Gunakan modul Https Node.js sendiri untuk memulakan perkhidmatan
Berbanding dengan Http, ia mempunyai satu lagi parameter pilihan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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('服务已开启');
})
|
Salin selepas log masuk
Oleh kerana nama domain yang saya terikat pada sijil SSL ialah
www.linglan01.cn, apabila saya menggunakan https://127.0.0.1:8080 untuk mengakses perkhidmatan Jika ia tidak sepadan dengan nama domain terikat, akses akan disekat dan hanya www.linglan01.cn akan dibenarkan untuk mengakses.

Gunakan nama domain
www.linglan01.cn untuk akses biasa.

Gunakan rangka kerja Express untuk mendayakan HTTPS
Saya pasti menggunakan Express komuniti dan rangka kerja lain untuk pembangunan di tempat kerja, dan saya ingin menggunakan rangka kerja Express dan lain-lain Ia juga sangat mudah untuk mendayakan HTTPS dalam Ekspres sebagai contoh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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('服务已开启');
})
|
Salin selepas log masuk

Ringkasan<.>Bukan mudah untuk membina perkhidmatan HTTPS dalam Node.js Difficult, Node.js telah memberikan kami modul HTTPS untuk menyelesaikan pembinaan dengan cepat. Perkhidmatan HTTPS sebenarnya hanya akan digunakan dalam persekitaran dalam talian Jika persekitaran setempat juga memerlukannya, kami juga boleh menggunakan alat
openSSL
untuk menjana sijil. Untuk lebih banyak pengetahuan berkaitan nod, sila lawati:
tutorial nodejs
!
Atas ialah kandungan terperinci Cara menggunakan Node untuk membina perkhidmatan HTTPS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!