我已经在EC2实例上配置了Hashicorp Vault服务器。当我尝试使用poster测试transit secret engine API时,我在poster上不断收到一个错误连接被拒绝,我进入了全模拟模式,打开了安全组入站规则上的所有端口,但它不起作用,我在实例上附加了一个弹性IP,也不起作用。
当我在ssh连接的会话上使用cUrl时,我没有任何问题。指定的托管地址是127.0.0.1:8200,在poster中,我用我在screencap中显然审查过的实例的公共地址替换了localhost,在标题中有访问vault所需的令牌,为了简单起见,我只是使用根令牌。
邮差熨平板,如果它有助于
@Emilio Marchant
我也遇到过类似的问题(不是邮递员,而是telnet(,让我们试着理解这里的问题。
问题出在127.0.0.1 IP上。这是环回IP,当你(或你的计算机(呼叫一个IP地址时,你通常试图联系互联网上的另一台计算机。但是,如果您调用IP地址127.0.0.1,那么您就是在与localhost通信——原则上是与您自己的计算机通信。
参考链接:https://www.ionos.com/digitalguide/server/know-how/localhost/
下面是您可以尝试的内容。
- 使用--dev侦听地址参数启动vault dev服务器
例如:
vault server -dev -dev-listen-address="123.456.789.1:8200"
在上面的命令中,将"123.456.789.1:8200"替换为"<您的ec2实例私有IP:8200'>
- 接下来设置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:您应该在控制台中获得一个根令牌,当您启动Vault服务器时,使用该令牌
现在尝试从邮递员或使用curl命令进行连接。它应该起作用。
参考问题和解决方案:
如何连接到远程hashicorp保险库服务器
这里值得注意的是,响应是"连接被拒绝";。此错误表示连接正在建立,并且发现该端口上没有运行的进程。此错误表示防火墙没有问题。防火墙将导致连接中断(拒绝(或超时(忽略(,但不会给出"拒绝";经济融合";。
最有可能的问题是vault服务器进程未绑定到正确的网络接口。hashicorp保险库中必须有一个配置才能设置要绑定的IP。默认情况下,大多数服务器仅绑定环回地址,该地址只能从127.0.0.1
访问。您需要将其绑定到";所有";网络接口,将其更改为CCD_ 2。我不知道hashicorp保险库的具体配置选项,但必须有这样的效果。
可能的安全问题:
请注意,有些服务器希望您在反向代理之后运行它,以便在需要时设置SSL(https(和其他身份验证。在没有SSL的情况下,像vault服务器这样的应用程序不应在http上公开访问。