【发布时间】:2021-02-10 18:38:16
【问题描述】:
我有带有 ssl 设置的 Nginx,它运行良好。我将它用作我的 nodejs 服务器的代理服务器。我在 Nginx 中只有 SSL 而不是 Nodejs spp。
问题: Postman 和其他 HTTP 客户端仍然可以在没有 SSL 证书的情况下发出 post 请求。这个nodejs服务器既适用于android客户端也适用于web客户端,我是否也必须直接对nodejs服务器(应用程序级别)实施SSL?如下:
const https = require('https');
const express = require('express');
// const httpsOptions = {cert, ca, key};
const app = express();
const httpsServer = https.createServer(httpsOptions, app);
httpsServer.listen(443, 'exampledomain.com');
Flutter 应用也可以在没有 SSL 的情况下向服务器发出请求。这意味着该服务器仍然不安全。
如何防止 HTTP 客户端在没有 SSL 的情况下访问服务器?
【问题讨论】:
-
你能发布你的 nginx 配置吗?您的节点服务器不必在 https 上运行/侦听。任何其他与 nginx 不冲突的端口都可以。客户端首先通过 http/https 到达您的 nginx,然后 nginx 将请求“转发”到您的 node.js(监听您想要的任何端口)您已经将所有通过 nginx 上的 http 连接到 https 的客户端“重定向”跨度>
标签: node.js express ssl nginx postman