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

Redhat Linux环境下为k6客户端配置自签名证书SSL的方法指导

在RedHat Linux上为k6配置自签名SSL证书的步骤

一、生成自签名证书(若未生成)

如果还没有可用的自签名证书,通过OpenSSL在RedHat环境生成:

  • 生成2048位私钥:openssl genrsa -out mycert-key.pem 2048
  • 创建证书签名请求(CSR):openssl req -new -key mycert-key.pem -out mycert.csr
    • 填写信息时,Common Name必须与目标测试域名(如example.com)完全一致
  • 生成有效期1年的自签名证书:openssl x509 -req -days 365 -in mycert.csr -signkey mycert-key.pem -out mycert.pem

二、k6脚本的正确配置

修正你的tlsAuth配置,注意以下细节:

  • 文件路径:如果证书与脚本不在同一目录,使用绝对路径(如/home/your-user/certs/mycert.pem)避免路径错误
  • 域名匹配:domains数组中的值必须与证书的Common Name或SAN字段完全匹配
  • 完整示例脚本:
import http from 'k6/http';
import { sleep } from 'k6';

export const options = {
  tlsAuth: [
    {
      domains: ['example.com'],
      cert: open('./mycert.pem'),
      key: open('./mycert-key.pem'),
    }
  ]
};

export default function () {
  http.get('https://example.com');
  sleep(1);
}

三、系统层面信任证书(解决证书不信任错误)

若k6请求时返回证书不信任相关错误,需将自签名证书添加到RedHat系统信任库:

  • 复制证书到系统锚点目录:sudo cp mycert.pem /etc/pki/ca-trust/source/anchors/
  • 更新系统信任存储:sudo update-ca-trust extract

四、常见问题排查

  • 验证证书与私钥匹配:执行openssl x509 -noout -modulus -in mycert.pem | openssl md5和openssl rsa -noout -modulus -in mycert-key.pem | openssl md5,两者输出需完全一致
  • 查看详细日志:运行脚本时添加-v参数(k6 run -v your-script.js),根据日志定位文件缺失、格式错误等问题
  • 检查证书格式:确保证书为PEM格式,若为DER格式需转换:openssl x509 -inform der -in cert.cer -out mycert.pem

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:57:14