node.js - Node https ssl 你的连接不是私有(private)错误

标签 node.js express ssl https

我最近购买了一个 ssl 证书,当我访问我的网站时,我遇到了 google chrome 的问题,它显示“您的连接不是私有(private)的 NET::ERR_CERT_AUTHORITY_INVALID”,这就是我正在做的事情:

const express = require("express");
const https = require('https');
const helmet = require("helmet");
const cors = require("cors");
const fs = require("fs");
const path = require("path");
const app = express();
const config = require("./config");
const passport = require("passport");
const credentials = { key: fs.readFileSync('ssl/site.key', 'utf-8'), cert: fs.readFileSync('ssl/site.crt', 'utf-8') + fs.readFileSync('ssl/site.ca-bundle', 'utf-8') };

app.use(helmet());
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(
  require("express-session")({
    secret: require("./config.json").app.secretKey,
    resave: false,
    saveUninitialized: true,
    cookie: {
      secure: false,
      maxAge: 60 * 60 * 1000 * 24 * 365,
    },
  })
);

app.use(passport.initialize());
app.use(passport.session());
passport.use(require("./service/passport"));

app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "views"));
app.use(express.static(path.join(__dirname, "views")));

app.use("/", require("./api/views"));
app.use("/auth", require("./api/auth"));
app.use("/answer", require("./api/answer"));
app.use("/user", require("./api/views/user.view"));
app.use("/courses", require("./api/views/courses.view"));
app.use("/question", require("./api/views/question.view"));
app.use("/answer", require("./api/views/answer.view"));

app.use("/api/user", require("./api/user"));
app.use("/api/course", require("./api/course"));
app.use("/api/feedback", require("./api/feedback"));
app.use("/api/help", require("./api/help"));
app.use("/api/questions", require("./api/question"));

var httpsServer = https.createServer(credentials, app);

httpsServer.listen(config.app.port);

console.log(credentials);
//app.listen(config.app.port);
我看到很多人有同样的问题,我该怎么办?

最佳答案

显然需要几天时间才能将认证标记为安全,这是最后的代码:

const express = require("express");
const https = require('https');
const helmet = require("helmet");
const cors = require("cors");
const fs = require("fs");
const path = require("path");
const app = express();
const config = require("./config");
const passport = require("passport");
const credentials = { key: fs.readFileSync('ssl/site.key', 'utf-8'), cert: fs.readFileSync('ssl/site.crt', 'utf-8'), ca: fs.readFileSync('ssl/site.ca-bundle', 'utf-8') };

app.use(helmet());
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(
  require("express-session")({
    secret: require("./config.json").app.secretKey,
    resave: false,
    saveUninitialized: true,
    cookie: {
      secure: false,
      maxAge: 60 * 60 * 1000 * 24 * 365,
    },
  })
);

app.use(passport.initialize());
app.use(passport.session());
passport.use(require("./service/passport"));

app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "views"));
app.use(express.static(path.join(__dirname, "views")));

app.use('/', require('./api/home'));
app.use("/auth", require("./api/auth"));
app.use("/answer", require("./api/answer"));
app.use('/material', require('./api/material'));
app.use("/user", require("./api/user"));
app.use("/courses", require("./api/course"));
app.use('/feedback', require('./api/feedback'))
app.use("/question", require("./api/question"));
app.use("/answer", require("./api/answer"));

var httpsServer = https.createServer(credentials, app);

httpsServer.listen(config.app.port);
我还使用了通过 openssl 生成的证书,而不是我从网站收到的证书。

关于node.js - Node https ssl 你的连接不是私有(private)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62892222/

相关文章:

django - 为 python3 安装 django 时出现 SSL 错误

Node.js www - 非 www 重定向

node.js - For 循环在 Node js 中无法正常工作

java - 如何在 Jetty 中禁用 SSLv3 协议(protocol)以防止 Poodle 攻击

node.js - 如何在 express 上配置 ssl

node.js - nodejs 没有连接到任何其他端口

c++ - 将 C++ 对象包装到 Node 插件中的 v8 对象

javascript - 如何使 JavaScript 代码与 Node.js 一起工作?

node.js - 在内存中创建 HTML 或 PDF "file"并在 Node.js 中对其进行流式传输

javascript - 从 promise 对象(服务器端)获取值到客户端 index.html