首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >logstash http_poller ssl认证问题

logstash http_poller ssl认证问题
EN

Stack Overflow用户
提问于 2016-12-06 02:41:02
回答 2查看 1.5K关注 0票数 2

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

配置如下:

代码语言:javascript
复制
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,会产生什么影响?

EN

回答 2

Stack Overflow用户

发布于 2021-02-19 11:00:30

我解释操作意图,希望能够禁用TLS验证,但我们仍然不能(logstash-7.11.1),我继续研究如何为这些情况获得一个信任存储。这是我在追求同样的问题上的一次成功尝试。

有些设备将运行自签名证书(另一种讨论ppl.)-因此,设置这样一个信任存储的小脚本可能会有帮助,特别是当您要在内部设置一些自动化的时候。

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

基于poller.html的实例

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

代码语言:javascript
复制
#!/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特定的可能性。另一种方法是查看临时文件,作为官方示例(参见上面的链接)。

票数 1
EN

Stack Overflow用户

发布于 2017-10-02 13:43:42

显然你的证明是无效的。关于

代码语言:javascript
复制
ssl_certificate_validation 

它没有真正的影响,http-puller是基于manticore的,它是一种在Apache HC上转发的红宝石。

which does not support this hook see

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40986955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档