【问题标题】:Grafana with https - Cannot find SSL cert_file带有 https 的 Grafana - 找不到 SSL cert_file
【发布时间】:2019-12-08 11:43:13
【问题描述】:

我在 NAS 上的 Docker 容器中运行 Grafana。使用http时一切正常。 但是,当我为 https 设置 Grafana 时,我无法启动容器,因为根据 Docker 日志找不到证书文件。

我使用 OpenSSL 创建了一个自我证书,以便将 Grafana 与 https 一起使用。 我修改了 docker 脚本以覆盖 https 的环境服务器部分,并定义了证书和密钥文件的路径。

  INFO[12-08|12:28:50] Config overridden from Environment variable logger=settings var="GF_SERVER_PROTOCOL=https"
  INFO[12-08|12:28:50] Config overridden from Environment variable logger=settings var="GF_SERVER_CERT_FILE=/share/CACHEDEV2_DATA/Container/grafana/config/ssl/grafana.crt"
  INFO[12-08|12:28:50] Config overridden from Environment variable logger=settings var="GF_SERVER_CERT_KEY=/share/CACHEDEV2_DATA/Container/grafana/config/ssl/grafana.key"

据我所知,这似乎很好,但是由于未知原因找不到证书文件,即使它在定义的路径中可用。

INFO[12-08|12:28:50] HTTP Server Listen                       logger=http.server address=0.0.0.0:3000 protocol=https subUrl= socket=
EROR[12-08|12:28:50] Stopped HTTPServer                       logger=server reason="Cannot find SSL cert_file at /share/CACHEDEV2_DATA/Container/grafana/config/ssl/grafana.crt"

当我检查路径时,我发现它是有效的

[/share/CACHEDEV2_DATA/Container/grafana] # ls -l /share/CACHEDEV2_DATA/Container/grafana/config/ssl/grafana.crt
-rw-r--r-- 1 admin administrators 1228 2019-12-08 10:55 /share/CACHEDEV2_DATA/Container/grafana/config/ssl/grafana.crt

知道这可能是什么原因吗? 证书是否无效并且错误消息只是误导?

非常感谢您的提示:)

斯蒂芬

编辑:

我用来启动 Docker 容器的脚本:

GRAFANA_DIR_CONF=$(readlink -f ./config)
GRAFANA_VER='latest'

 docker run -it \
        --name=grafana \
        -v $GRAFANA_DIR_CONF:/var/lib/grafana \
        -v /etc/localtime:/etc/localtime:ro \
        -e "GF_SECURITY_ALLOW_EMBEDDING=true" \
        -e "GF_USERS_ALLOW_SIGN_UP=false" \
        -e "GF_AUTH_ANONYMOUS_ENABLED=true" \
        -e "GF_AUTH_BASIC_ENABLED=false" \
        -e "GF_SERVER_PROTOCOL=https" \
        -e "GF_SERVER_CERT_FILE=$GRAFANA_DIR_CONF/ssl/grafana.crt" \
        -e "GF_SERVER_CERT_KEY=$GRAFANA_DIR_CONF/ssl/grafana.key" \
        -d \
        --restart=always \
        -p 3000:3000 \
        grafana/grafana:$GRAFANA_VER


[/share/CACHEDEV2_DATA/Container/grafana/config/ssl] # ls -l
total 16
-rw-r--r-- 1 admin administrators 1228 2019-12-08 10:55 grafana.crt
-rw-r--r-- 1 admin administrators 1702 2019-12-08 10:44 grafana.key
[/share/CACHEDEV2_DATA/Container/grafana/config/ssl] # 

【问题讨论】:

  • 你是如何启动 Grafana 容器的,证书/密钥存储在哪里?
  • 嗨 Jan - 我已在原始帖子中添加了 Docker 脚本。

标签: docker https grafana


【解决方案1】:

您正在为配置文件夹使用卷,因此容器中证书/密钥的正确路径是:

        -e "GF_SERVER_CERT_FILE=/var/lib/grafana/ssl/grafana.crt" \
        -e "GF_SERVER_CERT_KEY=/var/lib/grafana/ssl/grafana.key" \

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-28
    • 2017-02-21
    • 2013-02-09
    • 2016-10-12
    • 2013-03-04
    • 2012-07-08
    • 1970-01-01
    • 2017-02-18
    相关资源
    最近更新 更多