java - Openshift 上的 Vault 服务器 - 连接被拒绝
问题描述
我想使用保管库服务器来存储机密并将其部署在 openshift 上。
我编写了这个 dockerfile,构建了镜像并将其推送到 openshift 注册表,并从这个镜像流创建了一个部署:
FROM vault:1.5.0
ADD *.hcl /etc/config.hcl
ENTRYPOINT ["vault", "server", "-config=/etc/config.hcl"]
这是配置:
storage "file" {
path = "/vault/data"
}
listener "tcp" {
address="127.0.0.1:8200"
tls_disable=1
}
disable_mlock = true
api_addr = "http://127.0.0.1:8200"
我创建了一条到 8200 端口的路由。当我从 vault-server pod 内部使用 vault CLI 时,它工作正常,我可以登录、配置等。当我在本地计算机上使用 openshift cli 将端口 8200 转发到我的本地 8200 端口时,我还可以访问 API。
问题是我无法从 pod 之外的任何地方访问 API。该路由给我一个 503 响应,当通过http://vault-server.namepsace.svc:8200尝试时,我得到连接被拒绝(使用 Spring Rest 模板)。
如何将 Vault 配置为也接受外部流量?
解决方案
你的listener
块意味着你只监听来自本地主机的连接。address
将字段更改0.0.0.0:8200
为侦听所有接口:
listener "tcp" {
address="0.0.0.0:8200"
}
并且请不要忘记在连接正常后立即启用 TLS。
推荐阅读
- java - autowire在弹簧芯中的作用是什么?
- c++ - 模棱两可时在转换运算符之间进行选择
- regex - Pentaho 数据集成 - 从字符串中提取字符串
- javascript - 制作我自己的 ForEach() javascript - 未定义元素
- wordnet - 如何在没有库的情况下在 WorNet 的 nt 文件中找到词典编纂者 ID
- sql - SQL Server:错误消息 156,级别 15,状态 1,第 12 行关键字“AS”附近的语法不正确
- linux - 在 Ubuntu 中安装 Torch 时出现 CMake 错误
- python - Python。为什么我拿不到烛台?
- jenkins - 仅在测试成功的情况下如何使用 Jenkins 部署 Drupal
- android - 在 Android 上处理使用 ImageReader 获得的图像