Splunk Enterprise升级至9.0.4.1后证书验证问题求助
解决Splunk 9.0.4.1升级后的证书验证问题
核心原因
Splunk 9.0版本强化了TLS证书验证机制,默认启用主机名校验,同时自签名证书不在默认信任列表中,这是你遇到警告和错误的根本原因。
解决方案
方案1:修复自签名证书的主机名匹配(推荐生产环境)
如果你的自签名证书的**CN(通用名称)或SAN(主题备用名称)**未包含Splunk服务器的主机名/IP,会直接触发验证失败:
- 重新生成符合要求的自签名证书,确保CN/SAN包含Splunk实例的主机名(如
splunk-server.example.com)和访问时用到的IP地址 - 生成命令示例:
$SPLUNK_HOME/bin/splunk createssl server-cert -cn splunk-server.example.com -san splunk-server.example.com -san 192.168.1.100 -days 3650 - 将新证书替换默认路径下的旧证书(默认路径:
$SPLUNK_HOME/etc/auth/server.pem),然后重启splunkd服务
方案2:让Splunk信任现有自签名证书
不想重新生成证书的话,可将自签名证书添加到Splunk信任存储:
- 导出证书的公钥部分(格式为PEM)
- 将证书文件放入
$SPLUNK_HOME/etc/auth/cacerts/目录 - 执行命令更新信任存储哈希:
$SPLUNK_HOME/bin/splunk cmd openssl rehash $SPLUNK_HOME/etc/auth/cacerts/ - 在
server.conf的[sslConfig]段添加配置:cliVerifyServerName = true sslRootCAPath = $SPLUNK_HOME/etc/auth/cacerts/ - 重启splunkd服务
方案3:临时放宽验证(仅测试环境可用)
测试环境下若需快速绕过验证,可同时关闭主机名校验和证书信任验证:
在server.conf的[sslConfig]段添加:
cliVerifyServerName = false sslVerifyServerCert = false
重启splunkd后即可消除警告和错误,但此配置会降低通信安全性,禁止在生产环境使用。
注意事项
- 修改
server.conf后必须重启splunkd才能生效 - 分布式Splunk环境(搜索头、索引集群等)需保证所有节点的证书配置一致
- 生产环境优先选择方案1或2,保障TLS通信安全
内容的提问来源于stack exchange,提问作者Adnan.
相关产品推荐
相关产品推荐

