快递.js HTTPS服务器菜鸟

express.js https server noob

本文关键字:菜鸟 服务器 HTTPS js 快递      更新时间:2023-09-26

Using node.js with express,我做了一个简单的https服务器。出于测试目的,我制作了一个基本的登录表单,该表单发布到此https服务器。

我的期望是,只需做:

var app = require('../app');
var https = require('https');
var fs = require('fs');
// I used openssl to generate a ssl certificate
var pkey = fs.readFileSync('key.pem');
var pcert = fs.readFileSync('cert.pem');
var options = {
    key: pkey,
    cert: pcert
};
var httpsServer = https.createServer(options, app);
httpsServer.listen(8081, 'localhost');

发布到 /login 的数据将被正确加密:

var express = require('express');
var router = express.Router();
router.post('/login', function(req, res) {
    console.log(req.body); // this is the post data sent from client
});

我希望req.body看起来像"加密"数据,因为我没有中间件解密任何东西,但我得到了{name: 'abc', 'password': '123'}.我是否错过了此过程中的一个步骤,或者节点https模块是否处理所有加密/解密内容?还是我完全错过了https的用途/作用?

HTTP 通过某种通信通道进行通信。TLS 是一种协议,允许您在不安全的通信通道上构建安全通信通道。HTTPS是围绕HTTP的TLS。从应用程序的角度来看(使用 TLS 通信通道),所有内容都将以明文形式出现,因为 TLS 正在为您处理所有加密和解密。