gpt4 book ai didi

ssl - logstash http_poller ssl 认证问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:47 25 4
gpt4 key购买 nike

我正在尝试使用 logstash http_poller 来查询服务器 RESTAPI。我通过explore下载服务器pem,用keytool生成jks文件。但我们仍然收到错误 “PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”。不知道出了什么问题。

配置如下:

http_poller {
urls => {
restapi => {
method => get
url => "https://path_to_resources
headers => {
Accept => "application/json"
}
truststore => "/path/generated.truststore.jks"
truststore_password => "xxx"
ssl_certificate_validation => false
auth => {
user => "xxx"
password => "xxx"
}
}
}
request_timeout => 60
interval => 60000
codec => "json"
metadata_target => "http_poller_metadata"
}
}

对了,ssl_certificate_validation设置为false有什么影响?

最佳答案

我解释 OP 的意图是希望能够禁用 TLS 验证,我们仍然不能(logstash-7.11.1)并且我继续研究如何获得这些案例的信任库。这个 Q 是我追求同样的目标之一。

某些设备将运行自签名证书(另一个讨论 ppl...)- 因此设置此类信任库的小脚本可能会有所帮助,尤其是当您要在内部设置一些自动化时。

另一个警告是自签名证书仍然必须有一个匹配的主机名。

基于 https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http_poller.html 中的示例

注意!进一步的错误检查等由您自行决定。

#!/bin/bash
# Fetch an http server's TLS certificate and
# create or update a JAVA keystore / truststore

usage () {
echo "usage: get-cert.sh <hostname>:<port>"
exit 1
}

TRUSTSTORE=cacert/trust.jks

PARAM=$1
HOSTNAME=$(echo "$PARAM" | cut -d: -f 1)
PORT=$(echo "$PARAM" | cut -d: -f 2)
REST=$(echo "$PARAM" | cut -d: -f 3-)

[ -z "$HOSTNAME" ] && usage
[ -z "$PORT" ] && usage
[ -n "$REST" ] && usage

OUTPUT=$(
openssl \
s_client \
-showcerts \
-connect "${HOSTNAME}":"${PORT}" </dev/null 2>/dev/null | \
openssl \
x509 \
-outform PEM)
EC=$?
[ $EC -ne 0 ] && { echo "ERROR EC=$EC - $OUTPUT" ; exit $EC ; }

keytool \
-import \
-storepass changeit \
-alias ${HOSTNAME} \
-noprompt \
-file <(echo "$OUTPUT") \
-keystore ${TRUSTSTORE}

在这里使用一些特定于 bash 的可能性。另一种方法是通过临时文件,如官方示例所示(参见上面的链接)。

关于ssl - logstash http_poller ssl 认证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40986955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com