AWS + Hashicorp Vault 的连接被拒绝错误

Connection refused error with AWS + Hashicorp Vault

我已经在 EC2 实例上配置了一个 Hashicorp Vault 服务器。当尝试使用邮递员测试传输秘密引擎时 API 我一直收到邮递员拒绝连接的错误,我进入了完整的 ape 模式并打开了安全组入站规则上的所有端口但它没有用,我附上了一个实例的弹性 IP 也没有工作,我只是尝试使用简单的 GET,我只是不断收到相同的 connectionrefused 错误。

当我在连接的 ssh 上使用 cUrl 时 session 我没有遇到任何问题。指定的托管地址是 127.0.0.1:8200,在邮递员中我用 public 我在屏幕截图中明显审查的实例地址替换了那个本地主机,在 headers 那里有访问保险库所需的令牌,为简单起见,我只使用根令牌。

Postman screecap if it helps

这里值得注意的是响应是“连接被拒绝”。此错误意味着正在建立连接,但发现该端口上没有进程 运行ning。此错误表示防火墙没有问题。防火墙会导致连接断开(拒绝)或超时(忽略),但不会给出“Econnrefused”。

最有可能的问题是保管库服务器进程未绑定到正确的网络接口。 hashicorp-vault 中必须有一个配置来设置要绑定的 IP。默认情况下,大多数服务器仅绑定到只能从 127.0.0.1 访问的环回地址。您需要通过将其更改为 0.0.0.0 将其绑定到“所有”网络接口。我不知道 hashicorp vault 的具体配置选项,但必须有这样的效果。

可能的安全问题:
请注意,某些服务器希望您在 reverse proxy 后面 运行 它,以便您可以在需要时设置 SSL (https) 和其他身份验证。在没有 SSL 的情况下,不应在 http 上公开访问 vault 服务器等应用程序。

@Emilio Marchant

我遇到过类似的问题(不是 postman,而是 telnet),让我们试着理解这里的问题。

问题出在 127.0.0.1 IP 上。这是环回 IP,当您(或您的计算机)调用一个 IP 地址时,您通常是在尝试联系互联网上的另一台计算机。但是,如果您调用 IP 地址 127.0.0.1,那么您是在与本地主机通信——原则上是与您自己的计算机通信。

参考 link : https://www.ionos.com/digitalguide/server/know-how/localhost/

下面是您可以尝试的。

  1. 使用 --dev-listen-address 参数启动 Vault 开发服务器。

例如:

vault server -dev -dev-listen-address="123.456.789.1:8200"

在上面的命令中将'123.456.789.1:8200'替换为'

  1. 接下来设置VAULT_ADDR和VAULT_TOKEN参数如下
export VAULT_ADDR='http://123.456.789.1:8200'
export VAULT_TOKEN='*****************'

再次将 'http://123.456.789.1:8200' 替换为 'http://[Your ec2 instance private IP]:8200'

对于 Vault_token :您应该在控制台中获得根令牌,当您启动保管库服务器时,使用该令牌

现在尝试从 postman 或使用 curl 命令连接。它应该有效。

参考问题及解答: