SharePoint Server 2016连接器连接Elasticsearch证书验证失败求助
问题核心
Windows本地运行Elasticsearch 8.12.2,WSL-Ubuntu中运行SharePoint连接器,curl能正常访问ES,但make run时报SSL Certificate Issue: certificate verify failed: self-signed certificate in certificate chain,复制证书、设置use_ssl: False/verify_certs: False无效。
解决方案
1. 修正连接器配置的SSL参数位置
之前的verify_certs配置可能未放在正确节点下,需在elasticsearch节点内添加参数:
修改config.yml:
connectors: - connector_id: "adrl8o0BJBmtFMDNEQQR" service_type: "sharepoint_server" api_key: "OVNnUFVJNEJHS3dvQy1XdVFEWFQ6NFZsWU5tc21ScHl4OXVLYzVzM0Z5dw==" elasticsearch: host: "https://localhost:9200" api_key: "OVNnUFVJNEJHS3dvQy1XdVFEWFQ6NFZsWU5tc21ScHl4OXVLYzVzM0Z5dw==" # 临时关闭证书验证(仅测试用,生产环境不建议) verify_certs: false
若关闭验证仍无效,检查连接器版本是否需使用ssl_verify: false参数(部分旧版本参数名不同)。
2. 正确导入Elasticsearch证书到WSL信任链
步骤1:导出Windows上的ES证书为PEM格式
在Windows的Elasticsearch证书目录(默认./config/certs)下,用OpenSSL导出http.p12:
openssl pkcs12 -in http.p12 -out elasticsearch_ca.pem -cacerts -nokeys
输入证书密码(Elasticsearch初始化时生成,可查看启动日志或用elasticsearch-certutil工具获取)。
步骤2:复制证书到WSL并更新信任链
将导出的elasticsearch_ca.pem复制到WSL的系统证书目录:
sudo cp /mnt/c/path/to/elasticsearch_ca.pem /usr/local/share/ca-certificates/elasticsearch_ca.crt sudo update-ca-certificates
步骤3:配置连接器使用信任证书
修改config.yml指定CA证书路径:
elasticsearch: host: "https://localhost:9200" api_key: "OVNnUFVJNEJHS3dvQy1XdVFEWFQ6NFZsWU5tc21ScHl4OXVLYzVzM0Z5dw==" ca_certs: "/usr/local/share/ca-certificates/elasticsearch_ca.crt"
3. 检查WSL与Windows的网络映射
WSL2的localhost可能存在端口转发问题,尝试用Windows的实际IP访问ES:
- 在Windows上运行
ipconfig获取本地IPv4地址(如192.168.1.100) - 修改连接器
config.yml的host为https://192.168.1.100:9200 - 若证书不包含该IP的SAN(Subject Alternative Name),重新生成证书:
elasticsearch-certutil http --ip 192.168.1.100 --dns localhost
替换原http.p12后重启Elasticsearch。
内容的提问来源于stack exchange,提问作者poojay
相关产品推荐
相关产品推荐

