4.x版本外网访问dashboard问题

版本4.x,历史原因tidb部署都是绑定内网地址
外网:xx.xx.xx.xx
内网:yy.yy.yy.yy,pd-server leader

nginx配置:
events {
  worker_connections  10;  
  }
http {
                server {
                listen       2379;
                server_name  xx.xx.xx.xx;
                location /dashboard/ {
                   proxy_pass http://yy.yy.yy.yy:2379/dashboard/;
          }
  } 
         
}

输入:xx.xx.xx.xx:2379/dashborad

image

输入root密码后,可以确定root密码是正确的。

请问还可以其他什么原因造成的?

PD 的 UI 会随时切换的,需要获取正确的地址:

配置信息,在页面里面也有详细的介绍
https://docs.pingcap.com/zh/tidb/stable/dashboard-ops-reverse-proxy#第-1-步获取实际-tidb-dashboard-地址

1 个赞

是 proxy_pass 是不是漏写了个字母p

通过页面查看一下 ,通过外网请求的接口地址是什么?

估计还需要配置 (接口的)
proxy_redirect 内网地址 外网地址

2379端口这台机器能正常访问http://yy.yy.yy.yy:2379/dashboard/吗?

可以正常访问,如果题目所示,验证的时候报错。

用 nginx 把 tidb-server pd-server 的端口也代理过来,试试

是的,只有时dashboard的实际地址,才有会登录页面的,非实际dashboard地址,会显示空白的

如果都映射下,那就多了。看官方文档 https://docs.pingcap.com/zh/tidb/v4.0/dashboard-ops-reverse-proxy ,也没有显示去代理其他的组件端口。

抱歉这方面的文档目前没有。
可以打开浏览器的调试工具,看哪些请求失败了就代理一下对应端口。

Request URL: http://yy.yy.yy.yy:2379/dashboard/api/user/login
Request Method: POST
Status Code: 401 Unauthorized
Remote Address: yy.yy.yy.yy:2379
Referrer Policy: strict-origin-when-cross-origin

这里报错,奇怪。

用内网url post下 报错