带有自签名ssl证书的prometheus的https

问题描述 投票:0回答:2

尝试为 prometheus 建立 SSL(通过 docker 启动)。我使用 open ssl 自己生成了密钥和 crt。配对:钥匙和 crt 工作正常。 当我在主机上执行此命令时:

openssl s_server -cert prometheus.crt -key prometheus.key

它说“接受”

这是我的 prometheus 容器的 Dockerfile:
https://pastebin.com/4wGtCGp6
当我构建图像并启动它时,它会说:
level=error ts=2021-09-24T20:44:11.649Z caller=stdlib.go:105 component=web caller="http: 来自 127.0.0.1:50458 的 TLS 握手错误" msg="远程错误:tls:证书错误” кричит постоянно

在 web.yml 中,我按以下方式配置 SSL:

tls_server_config:
  cert_file: /etc/prometheus/prometheus.crt
  key_file: /etc/prometheus/prometheus.key

在 prometheus.yml 中,我按以下方式配置 SSL:

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    scheme: https
    tls_config:
      ca_file: /etc/prometheus/prometheus.crt
      cert_file: /etc/prometheus/prometheus.crt
      key_file: /etc/prometheus/prometheus.key

此错误的原因可能是什么?

ssl openssl prometheus dock
2个回答
1
投票

如果它是自签名的,则不需要 CA 文件,因此请尝试删除

tls_config
中的该行并重新启动容器。

我知道这已经很旧了,所以如果回答旧问题不好,我深表歉意。随意删除。


0
投票

您需要告诉 prometheus 使用哪些配置文件。 您可以在 docker run 命令中定义它们,如下所示

docker run -d prom/prometheus \
  --name prometheus \
  -p 9090:9090 \
  --config.file=/etc/prometheus/prometheus.yml \
  --web.config.file=/etc/prometheus/web.yml

根据您的环境更改文件路径。

© www.soinside.com 2019 - 2024. All rights reserved.