“如果您看到此 Grafana 无法加载其应用程序文件”反向代理后的 Docker Grafana 部署错误

Spe*_*ner 10 docker grafana nginx-reverse-proxy

我一直试图让我的 Grafana 容器与我的反向代理一起工作,但没有成功。我尝试的一切只会导致“如果您看到此 Grafana 无法加载其应用程序文件”页面出现,无论我使用内部 IP 还是外部 URL 访问它。

到目前为止,我的 Docker Compose 在艺人中,请注意,现在没有使用这些环境变量,因此 #

version: '2'
services:
  grafana:
    image: grafana/grafana
    hostname: grafana
    container_name: grafana
    network_mode: le_bridge
    ports:
      - 3000:3000
    #environment: 
      #GF_SERVER_DOMAIN: 'myurl.ddns.net'
      #GF_SERVER_ROOT_URL: 'https://myurl.ddns.net:443/grafana'   
    restart: unless-stopped
    volumes: 
      - /Docker_Configs/grafana/config:/etc/grafana
      - /Docker_Configs/grafana/data:/var/lib/grafana
Run Code Online (Sandbox Code Playgroud)

我的grafana.ini

[server]
domain = myurl.ddns.net
root_url = https://myurl.ddns.net/grafana/
Run Code Online (Sandbox Code Playgroud)

我的反向代理配置

location /grafana/{
   include /config/nginx/proxy.conf;
   proxy_pass http://192.168.2.13:3000/;
Run Code Online (Sandbox Code Playgroud)

bah*_*mat 0

从 7.2.0 升级到 7.3.1 时,这对我来说是崩溃的。问题在于,grafana 正在侦听端口 3000,而您的反向代理位于端口 443。Grafana 正在 grafana 主机的端口 443(未侦听)而不是 3000(正在侦听上查找资产。

解决方法是将外部端口添加到root_url中的参数中grafana.ini

root_url = https://myurl.ddns.net:443/grafana/
Run Code Online (Sandbox Code Playgroud)

然后grafana就会明白反向代理使用的端口和grafana本身不同,并且行为正确。