You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu EC2实例中Wazuh Docker部署证书生成失败求助

问题分析:Wazuh Docker证书生成失败(Cert tool does not exist in any bucket)

核心原因定位

这个错误本质是wazuh-certs-generator容器内部无法从Wazuh存储桶下载证书生成工具,问题根源集中在代理配置的传递环节:虽然你给Docker服务配置了代理,但容器运行时未正确继承代理环境变量,导致容器内的网络请求无法通过代理访问外部资源。

具体排查与解决方向

1. 验证Docker服务代理是否生效

先确认Docker服务的代理配置已正确加载:

systemctl daemon-reload
systemctl restart docker
# 检查容器是否能继承代理环境变量
docker run --rm alpine env | grep -i proxy

如果输出无HTTP_PROXY/HTTPS_PROXY,说明代理配置未生效,需检查/etc/systemd/system/docker.service.d/proxy.conf的格式,确保配置正确:

[Service]
Environment="HTTP_PROXY=http://a:b@ip:port"
Environment="HTTPS_PROXY=http://a:b@ip:port"
Environment="NO_PROXY=localhost,127.0.0.1,::1"

注意HTTPS_PROXY的地址必须以http://开头,不要误写为https://。

2. 手动给容器注入代理环境变量

若Docker服务代理未自动传递到容器,可在运行generator容器时强制指定代理:

docker-compose -f generate-indexer-certs.yml run --rm -e HTTP_PROXY=http://a:b@ip:port -e HTTPS_PROXY=http://a:b@ip:port generator

3. 检查代理的连通性与权限

  • 确认代理服务器允许当前EC2实例的IP访问,且用户名密码(a:b)正确。
  • 进入容器内测试代理连通性:
# 进入generator容器
docker run --rm -it wazuh/wazuh-certs-generator:0.0.1 sh
# 配置代理并测试访问
export HTTP_PROXY=http://a:b@ip:port
export HTTPS_PROXY=http://a:b@ip:port
curl -v https://packages.wazuh.com

若curl失败,需排查代理服务器的访问规则或网络连通性。

4. 绕过下载:手动挂载证书工具

如果代理问题暂时无法解决,可手动下载证书工具并挂载到容器内使用:

  1. 宿主机下载工具:
wget https://packages.wazuh.com/utils/cert-tool/wazuh-cert-tool.sh
chmod +x wazuh-cert-tool.sh
  1. 修改generate-indexer-certs.yml,添加挂载卷:
services:
  generator:
    volumes:
      - ./wazuh-cert-tool.sh:/tmp/wazuh-cert-tool.sh

再运行docker-compose命令,容器将使用本地脚本生成证书。

内容的提问来源于stack exchange,提问作者MLD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:25:17