如何 运行 从我的应用程序而不是 CLI 进行保管?
How to run Vault from my app instead of CLI?
我正在尝试在我的 NodeJS 应用程序中启动 Vault 服务。
使用 CLI 使用 Vault 是可以的,
但我需要它在应用程序启动时自动工作。
我试试这个
async started(ctx) {
var options = {
apiVersion: 'v1', // default
endpoint: 'http://127.0.0.1:8500', // default
};
// get new instance of the client
var vault = require("node-vault")(options);
// init vault server
vault.init({ secret_shares: 1, secret_threshold: 1 })
.then( (result) => {
var keys = result.keys;
// set token for all following requests
vault.token = result.root_token;
// unseal vault server
return vault.unseal({ secret_shares: 1, key: keys[0] })
})
.catch(console.error);
// see if it is ok
vault.status()
.then (res => {
console.log('STATuuuuuuuuuuusS', res);
})
.catch((err) => {
console.log("errrrrrreur status");
console.error(err.message);
});
但是我遇到了这个错误:
RequestError: Error: connect ECONNREFUSED 127.0.0.1:8500
[...]
cause: Error: connect ECONNREFUSED 127.0.0.1:8500
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 8500
},
如果我运行之前这样做,它就有效
vault server -config=config.hcl
即使我杀了它,它似乎也能在不重新加载的情况下工作。我肯定在这里遗漏了一些东西:)
我想知道 node-vault 是否应该启动 Vault 服务器?如果没有,我想知道如何从应用程序而不是 CLI 启动 Vault 服务器?
如果你知道这样做的好方法,或者有线索,我洗耳恭听。
尼古拉斯
不,通常代码不应启动服务器。
是的,您的代码工作正常。如果你还没有启动服务器,这个错误意味着无法连接到指定的IP地址和端口,它们是关闭的。
保险库服务器与它无关,相同的行为将是数据库服务器或任何其他服务器。
我正在尝试在我的 NodeJS 应用程序中启动 Vault 服务。 使用 CLI 使用 Vault 是可以的, 但我需要它在应用程序启动时自动工作。 我试试这个
async started(ctx) {
var options = {
apiVersion: 'v1', // default
endpoint: 'http://127.0.0.1:8500', // default
};
// get new instance of the client
var vault = require("node-vault")(options);
// init vault server
vault.init({ secret_shares: 1, secret_threshold: 1 })
.then( (result) => {
var keys = result.keys;
// set token for all following requests
vault.token = result.root_token;
// unseal vault server
return vault.unseal({ secret_shares: 1, key: keys[0] })
})
.catch(console.error);
// see if it is ok
vault.status()
.then (res => {
console.log('STATuuuuuuuuuuusS', res);
})
.catch((err) => {
console.log("errrrrrreur status");
console.error(err.message);
});
但是我遇到了这个错误:
RequestError: Error: connect ECONNREFUSED 127.0.0.1:8500
[...]
cause: Error: connect ECONNREFUSED 127.0.0.1:8500
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 8500
},
如果我运行之前这样做,它就有效
vault server -config=config.hcl
即使我杀了它,它似乎也能在不重新加载的情况下工作。我肯定在这里遗漏了一些东西:) 我想知道 node-vault 是否应该启动 Vault 服务器?如果没有,我想知道如何从应用程序而不是 CLI 启动 Vault 服务器?
如果你知道这样做的好方法,或者有线索,我洗耳恭听。
尼古拉斯
不,通常代码不应启动服务器。 是的,您的代码工作正常。如果你还没有启动服务器,这个错误意味着无法连接到指定的IP地址和端口,它们是关闭的。 保险库服务器与它无关,相同的行为将是数据库服务器或任何其他服务器。