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

请求容器化OpenSearch未携带curl参数报SSL错误如何解决

OpenSearch Docker部署SSL证书报错解决方案

curl: (60) SSL certificate problem报错是OpenSearch默认启用自签名HTTPS证书、客户端未信任该证书导致,以下是三类可直接落地的解决路径,按需选择即可:

方案1:全局配置curl跳过证书校验(适配自动化脚本场景,无需修改OpenSearch配置)

该方案不需要调整OpenSearch服务端配置,一劳永逸解决curl请求的证书校验问题,适合内网测试/可信环境使用:

  • 编辑当前用户的curl全局配置文件~/.curlrc(不存在则新建),写入以下配置:
    insecure
    
  • 保存生效后,直接执行curl -XGET https://localhost:9200 -u 'admin:admin'即可正常访问,不需要每次请求额外带--insecure参数。如果是Python、Java等其他语言的自动化请求客户端,直接在客户端配置中开启「跳过SSL证书验证」选项即可达到相同效果。

方案2:将OpenSearch自签证书加入系统信任链(生产环境推荐)

如果需要保留HTTPS加密、同时不想全局跳过证书校验,可以把OpenSearch的根证书导入系统信任存储:

  1. 从运行中的OpenSearch容器拷贝根证书到宿主机:
    docker cp <你的OpenSearch容器ID或名称>:/usr/share/opensearch/config/root-ca.pem ./
    
  2. 将证书导入系统信任库:
    • Debian/Ubuntu系列系统:将root-ca.pem移动到/usr/local/share/ca-certificates/目录,执行update-ca-certificates刷新信任链
    • RHEL/CentOS系列系统:将root-ca.pem移动到/etc/pki/ca-trust/source/anchors/目录,执行update-ca-trust刷新信任链
  • 配置完成后所有系统层面的HTTP客户端(curl、SDK、浏览器等)都会正常信任OpenSearch的HTTPS证书,不会再抛出证书校验错误。

方案3:关闭OpenSearch HTTPS,直接使用HTTP访问

如果不需要HTTPS加密,可以直接关闭OpenSearch的安全SSL插件,走纯HTTP协议访问:

  1. 修改Docker启动参数:
    • 如果是docker run启动,在启动命令中添加以下环境变量参数:
      -e plugins.security.ssl.http.enabled=false -e plugins.security.ssl.transport.enabled=false
      
    • 如果是docker-compose部署,在服务的environment配置段添加:
      environment:
        - plugins.security.ssl.http.enabled=false
        - plugins.security.ssl.transport.enabled=false
        # 如需同时关闭账号密码认证,可再加下面这行
        # - DISABLE_SECURITY_PLUGIN=true
      
  2. 重启OpenSearch容器,之后直接通过HTTP协议访问即可,示例请求:
    curl -XGET http://localhost:9200 -u 'admin:admin'
    
    全程不会有任何SSL相关报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:42:24