返回介绍

通过反向代理使用 TiDB Dashboard

发布于 2020-10-26 07:01:34 字数 4323 浏览 1105 评论 0 收藏 0

你可以使用反向代理将 TiDB Dashboard 服务安全从内部网络提供给外部网络。

操作步骤

第 1 步:获取实际 TiDB Dashboard 地址

当集群中部署有多个 PD 实例时,其中仅有一个 PD 实例会真正运行 TiDB Dashboard,因此需要确保反向代理的上游 (Upstream) 指向了正确的地址。关于该机制的详情,可参阅 TiDB Dashboard 多 PD 实例部署 章节。

使用 TiUP 部署工具时,操作命令如下(将 CLUSTER_NAME 替换为集群名称):

tiup cluster display CLUSTER_NAME --dashboard

输出即为实际 TiDB Dashboard 地址。样例如下:

http://192.168.0.123:2379/dashboard/

注意:

该功能在 TiUP Cluster v1.0.3 或更高版本部署工具中提供。

升级 TiUP Cluster 步骤
tiup update --self
tiup update cluster --force

第 2 步:配置反向代理

使用 HAProxy 反向代理

HAProxy 作为反向代理时,方法如下:

  1. 以在 8033 端口反向代理 TiDB Dashboard 为例,在 HAProxy 配置文件中,新增如下配置:

    frontend tidb_dashboard_front
      bind *:8033
      use_backend tidb_dashboard_back if { path /dashboard } or { path_beg /dashboard/ }
    
    backend tidb_dashboard_back
      mode http
      server tidb_dashboard 192.168.0.123:2379

    其中 192.168.0.123:2379 需替换为自定义路径前缀

    TiDB Dashboard 默认在 /dashboard/ 路径下提供服务,即使是反向代理也是如此,例如 http://example.com:8033/dashboard/。若要配置反向代理以非默认的路径提供 TiDB Dashboard 服务,例如 http://example.com:8033/foo/http://example.com:8033/,可参考以下步骤。

    第 1 步:修改 PD 配置指定 TiDB Dashboard 服务路径前缀

    修改 PD 配置中 [dashboard] 类别的 public-path-prefix 配置项,可指定服务路径前缀。该配置修改后需要重启 PD 实例生效。

    以 TiUP 部署且希望运行在 http://example.com:8033/foo/ 为例,可指定以下配置:

    server_configs:
      pd:
        dashboard.public-path-prefix: /foo
    使用 TiUP 部署全新集群时修改配置

    若要全新部署集群,可在 TiUP 拓扑文件 topology.yaml 中加入上述配置项后进行部署,具体步骤参阅 TiUP 部署文档

    使用 TiUP 修改已部署集群的配置
    1. 以编辑模式打开该集群的配置文件(将 CLUSTER_NAME 替换为集群名称)

      tiup cluster edit-config CLUSTER_NAME
    2. server_configspd 配置下修改或新增配置项,若没有 server_configs 请在最顶层新增:

      server_configs:
        pd:
          dashboard.public-path-prefix: /foo

      修改完成后的配置文件类似于:

      server_configs:
        pd:
          dashboard.public-path-prefix: /foo
      global:
        user: tidb
        ...

      monitored:
        ...
      server_configs:
        tidb: ...
        tikv: ...
        pd:
          dashboard.public-path-prefix: /foo
        ...
    3. 滚动重启所有 PD 实例生效配置(将 CLUSTER_NAME 替换为集群名称)

      tiup cluster reload CLUSTER_NAME -R pd

      详情请参阅 TiUP 常见运维操作 - 修改配置参数

    若希望运行在根路径(如 http://example.com:8033/)下,相应的配置为:

    server_configs:
      pd:
        dashboard.public-path-prefix: /

    警告:

    修改自定义路径前缀生效后,直接访问将不能正常使用 TiDB Dashboard,您只能通过和路径前缀匹配的反向代理访问。

    第 2 步:修改反向代理配置

    使用 HAProxy 反向代理

    http://example.com:8033/foo/ 为例,HAProxy 配置如下:

    frontend tidb_dashboard_front
      bind *:8033
      use_backend tidb_dashboard_back if { path /foo } or { path_beg /foo/ }
    
    backend tidb_dashboard_back
      mode http
      http-request set-path %[path,regsub(^/foo/?,/dashboard/)]
      server tidb_dashboard 192.168.0.123:2379

    其中 192.168.0.123:2379 需替换为下一步

    参阅提高 TiDB Dashboard 安全性文档了解如何增强 TiDB Dashboard 的安全性,如配置防火墙等。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文