如何让我的 node.js 服务器变成 https 而不是 http

how to make my node.js server https instead of http

大家好!

我是后端开发的新手,我正在尝试使用打字稿设置 node.js 服务器。

我遵循了一个教程,它似乎有效!

但在开始设置和编码我的所有路由和请求之前,我想使用 https 而不是 http,这是我从未做过的事情。 (在我的学校项目中这不是强制性的)。

这是我的 app.ts,我在这里设置了所有内容。

import dotenv from 'dotenv';
import express from 'express';
import MasterRouter from './routers/MasterRouter';



// load the environment variables from the .env file
dotenv.config({
  path: '.env'
});

class Server {
    public app = express();
    public router = MasterRouter;
}

// initialize server app
const server = new Server();

// make server app handle any route starting with '/api'
server.app.use('/api', server.router);


// make server listen on some port
((port = process.env.APP_PORT || 5000) => {
  server.app.listen(port, () => console.log(`> Listening on port ${port}`));
})();

你们能给我一些关于如何拥有一个安全服务器的建议吗?

我已经得到文件 cert.pemkey.pem .

谢谢!

HTTPS 本地开发并不常见。您是如何颁发证书的以及针对哪些域?浏览器是否会将您的证书识别为来自 SSL 证书颁发机构?尽管您的初衷是好的,您可能仍会在浏览器中看到不安全的连接屏幕。

当今流行的选择是使用 HTTP 进行所有开发。然后,您可以在服务器前面使用 Cloudflare 等反向代理或 AWS 负载均衡器。然后您的用户连接并与代理协商 SSL 连接,代理将通过 HTTP.

与您的服务器通信

设置起来很简单。您只需允许 Cloudflare 管理您的 DNS,它会自动通过其服务器通过 SSL 路由所有连接,然后再将其传递到您的节点应用程序。这将为您的网站提供漂亮的安全锁图标。

了解更多后,您还可以加密 Cloudflare 与您的服务器之间的流量。