创建Raft集群后Vault UI API出现ERR_CONNECTION_RESET故障求助
Vault Raft集群创建后Web UI API连接重置问题
实验室环境通过Docker容器运行Vault服务器,笔记本端通过VPN访问。初始状态下Web UI的所有API调用均正常,但创建Raft集群后,UI中部分API开始出现ERR_CONNECTION_RESET错误。CLI可成功执行unseal操作,但Web UI执行unseal时会触发相同的连接重置错误。更换最新版本的Vault容器后,问题依旧存在。
环境信息
Vault.hcl配置文件
cluster_addr = "https://127.0.0.1:8201" api_addr = "https://127.0.0.1:8200" disable_mlock = true storage "raft" { path = "/path/to/raft/data" node_id = "raft_node_id" } # Listener on port 8200 (adjust as needed) listener "tcp" { address = "0.0.0.0:8200" tls_disable = true # Disable TLS for development (enable for production) } # Enable the UI ui = true # Enable userpass authentication (for development purposes) auth "userpass" { type = "userpass" users { username = "vault_user" password = "vault_password" } }
CLI unseal操作记录
/ # vault operator unseal Vv1qKhQ0So......vsZNLgnSBmwQ Key Value --- ----- Seal Type shamir Initialized true Sealed true Total Shares 5 Threshold 3 Unseal Progress 1/3 Unseal Nonce f7d8706f-9623-38a0-d454-2c4564749d17 Version 1.13.3 Build Date 2023-06-06T18:12:37Z Storage Type raft HA Enabled true / #
最新容器运行命令
docker pull hashicorp/vault docker run --cap-add=IPC_LOCK -e 'VAULT_LOCAL_CONFIG={"storage": {"file": {"path": "/vault/file"}}, "listener": [{"tcp": { "address": "0.0.0.0:8200", "tls_disable": true}}], "default_lease_ttl": "168h", "max_lease_ttl": "720h", "ui": true}' -p 8200:8200 hashicorp/vault server
问题分析与解决步骤
修正地址配置的协议与可达性
当前cluster_addr和api_addr使用https协议,但listener配置中禁用了TLS,同时地址指向容器内部回环127.0.0.1,VPN客户端无法访问。需修改为VPN可达的服务器IP,并匹配协议:cluster_addr = "http://<服务器VPN可达IP>:8201" api_addr = "http://<服务器VPN可达IP>:8200"映射Raft集群通信端口
Raft集群依赖8201端口进行节点交互,UI部分API也会调用该端口。运行Docker容器时需添加端口映射:docker run --cap-add=IPC_LOCK -v /path/to/your/raft/data:/path/to/raft/data -p 8200:8200 -p 8201:8201 hashicorp/vault server -config=/vault/config/vault.hcl检查网络路由与端口开放
确认服务器的VPN网络允许8200、8201端口的流量通过,Docker容器的网络模式未限制外部访问(默认bridge模式即可)。重新初始化集群
修改配置后重启Vault容器,重新执行初始化和unseal操作,创建Raft集群后验证Web UI的API调用是否正常。
内容的提问来源于stack exchange,提问作者Manu
相关产品推荐
相关产品推荐

