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

K6跳过TLS验证无效,报x509未知证书签名错误求助

k6 Prometheus Remote Write TLS验证失败问题解决

问题背景

尝试跳过TLS验证后,k6的Prometheus Remote Write输出仍抛出证书验证错误:

msg="Failed to send the time series data to the endpoint" error="HTTP POST request failed: Post "https://.../api/v1/push/": tls: failed to verify certificate: x509: certificate signed by unknown authority" output="Prometheus remote write"

当前TLS握手指标:

http_req_tls_handshaking.......: avg=208.3ms  min=208.3ms  med=208.3ms  max=208.3ms  p(90)=208.3ms  p(95)=208.3ms

已尝试的无效方案:

  • 脚本options中设置insecureSkipTLSVerify: true
  • 使用命令行参数--insecure-skip-tls-verify,执行命令:
k6 run -o experimental-prometheus-rw -e 'K6_PROMETHEUS_RW_SERVER_URL=https://****/api/v1/push' --insecure-skip-tls-verify k6/sample/prfm_hpp.js

解决方法

1. 为Prometheus输出插件单独配置跳过TLS验证

k6的全局TLS跳过配置仅对脚本内的HTTP请求生效,Prometheus Remote Write插件有独立的TLS控制参数,需通过以下方式设置:

  • 环境变量方式(推荐):

    k6 run -o experimental-prometheus-rw -e 'K6_PROMETHEUS_RW_SERVER_URL=https://****/api/v1/push' -e 'K6_PROMETHEUS_RW_INSECURE_SKIP_TLS_VERIFY=true' k6/sample/prfm_hpp.js
    
  • 配置文件方式:
    创建k6-config.json:

    {
      "output": {
        "experimental-prometheus-rw": {
          "serverURL": "https://****/api/v1/push",
          "insecureSkipTLSVerify": true
        }
      }
    }
    

    运行时指定配置文件:

    k6 run -c k6-config.json k6/sample/prfm_hpp.js
    

2. 升级k6到最新版本

旧版本的experimental-prometheus-rw插件可能未实现insecureSkipTLSVerify参数,升级到最新稳定版可解决兼容性问题:

# Linux(Debian/Ubuntu)示例升级命令
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt update && sudo apt install k6

3. 添加CA证书到系统信任链(安全替代方案)

若不允许跳过验证,可将Prometheus服务的CA证书导入k6运行环境的信任存储:

  1. 将CA证书文件(如prom-ca.crt)复制到系统CA目录,例如Ubuntu的/usr/local/share/ca-certificates/
  2. 更新系统证书缓存:
    sudo update-ca-certificates
    
  3. 重新运行k6脚本即可自动通过证书验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:22:04