如何修改Chronograf的Docker命令适配nginx-proxy端口81的路由?
解决Chronograf适配nginx-proxy路径转发的问题
核心原因
Chronograf默认以根路径(/)提供服务,当通过/my_chronograf/路径反向代理时,它内部的静态资源、API请求仍会沿用根路径,导致页面加载失败或功能异常。必须让Chronograf明确自身运行的子路径。
修改后的Chronograf启动命令
docker run -d --name chronograf \ -e VIRTUAL_HOST=my.custom.server.com \ -e VIRTUAL_PATH=/my_chronograf/ \ -e VIRTUAL_PORT=8888 \ -e BASE_PATH=/my_chronograf/ \ chronograf
关键修改说明
- 添加
BASE_PATH=/my_chronograf/环境变量:告知Chronograf将所有资源路径、API请求统一前缀为该子路径,确保页面内的链接与反向代理路径完全匹配。 - 移除
-p 8889:8888端口映射:nginx-proxy通过Docker Socket自动发现容器,无需暴露主机端口,VIRTUAL_PORT=8888已指定容器内服务的端口。 - 保留
VIRTUAL_PATH=/my_chronograf/:让nginx-proxy将该路径的请求转发到Chronograf容器。
访问验证
启动容器后等待3-5秒,让nginx-proxy自动更新配置,随后访问:http://my.custom.server.com:81/my_chronograf/(注意保留末尾的斜杠,避免路径跳转异常)
内容的提问来源于stack exchange,提问作者Aitzol Soto Zubizarreta
相关产品推荐
相关产品推荐

