【发布时间】:2020-03-12 19:12:19
【问题描述】:
我为我的节点服务器下载了 aws 安全套接字并将其添加到我的 index.js 文件夹中,但我收到一条错误消息,指出错误:ENOENT:没有这样的文件或目录,打开 'rds-combined-ca-bundle.佩姆。
有谁知道是什么原因导致了这个错误?
代码如下:
var express = require('express');
var fs = require('fs');
const instanceController = require("./asurionController/instanceController")
//keeps data keys hidden from unauth users
require("dotenv").config()
//express Middleware
var helmet = require('helmet'); //creates headers that protect from attacks
var bodyParser = require('body-parser'); //parses response
var cors = require('cors'); //allows cross site communication
var morgan = require('morgan'); //logs requests
var app = express();
var db = require("knex")({
client: "pg",
connection: {
database: process.env.DATABASE,
host: process.env.DBHOST,
port: process.env.DBPORT,
user: process.env.DBUSER,
password: process.env.DBPASSWORD,
ss1: {
ss1rootcert: fs.readFileSync("rds-combined-ca-bundle.pem").toString(),
sslmode: "verify-full"
}
}
})
var whitelist = ["http://localhost:3001"];
const corsOptions = {
origin: function(origin, callback) {
if (whitelist.indexOf(origin) !== -1 || !origin) {
callback(null, true);
} else {
callback(new Error("Not allowed by CORS"));
}
}
};
app.use(helmet());
app.use(cors());
app.use(bodyParser.json());
app.use(morgan("combined"));
//server connection
app.listen(process.env.PORT || 3000), () =>{
console.log(`app is running on port ${process.env.port}`|| 5000)
}"
【问题讨论】:
-
你设置为
ss1rootcert的文件没有找到,你要设置正确的地方。 -
那行得通。该文件位于错误的路径中。
-
很高兴能帮上忙。我会将其作为答案发布,以便您在解决问题后接受它。您可以通过单击答案的复选标记来接受答案。
-
你能告诉我什么是存储 pem 文件的正确位置
标签: javascript node.js amazon-web-services express