From 800dd077136c6bded47f80d20cea581677c776c3 Mon Sep 17 00:00:00 2001 From: naiba Date: Thu, 19 Aug 2021 09:22:48 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20=E6=B7=BB=E5=8A=A0=20Terminal=20?= =?UTF-8?q?=E4=B8=80=E7=9B=B4=E9=BB=91=E5=B1=8F=E8=A7=A3=E5=86=B3=E6=96=B9?= =?UTF-8?q?=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++---------- cmd/dashboard/controller/common_page.go | 3 ++- resource/template/dashboard/terminal.html | 10 +++++++++- service/dao/dao.go | 2 +- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index af3721c..fc90256 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
LOGO designed by 熊大 .

-    +   

:trollface: 哪吒监控 一站式轻监控轻运维系统。支持系统状态、HTTP(SSL 证书变更、即将到期、到期)、TCP、Ping 监控报警,命令批量执行和计划任务。

@@ -270,14 +270,7 @@ restart() {
- 提示实时通道断开? - -### 启用 HTTPS - -使用宝塔反代或者上 CDN,建议 Agent 配置 跟 访问管理面板 使用不同的域名,这样管理面板使用的域名可以直接套 CDN,Agent 配置的域名是解析管理面板 IP 使用的,也方便后面管理面板迁移(如果你使用 IP,后面 IP 更换了,需要修改每个 agent,就麻烦了) - -### 实时通道断开(WebSocket 反代) - + 实时通道断开/Terminal管理一直黑屏 使用反向代理时需要针对 `/ws` 路径的 WebSocket 进行特别配置以支持实时更新服务器状态。 - Nginx(宝塔):在你的 nginx 配置文件中加入以下代码 @@ -288,7 +281,7 @@ restart() { #原有的一些配置 #server_name blablabla... - location /ws { + location ~ ^/(ws|terminal/.+)$ { proxy_pass http://ip:站点访问端口; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; diff --git a/cmd/dashboard/controller/common_page.go b/cmd/dashboard/controller/common_page.go index d623a5f..51418bb 100644 --- a/cmd/dashboard/controller/common_page.go +++ b/cmd/dashboard/controller/common_page.go @@ -370,6 +370,7 @@ func (cp *commonPage) createTerminal(c *gin.Context) { } c.HTML(http.StatusOK, "dashboard/terminal", mygin.CommonEnvironment(c, gin.H{ - "SessionID": id, + "SessionID": id, + "ServerName": server.Name, })) } diff --git a/resource/template/dashboard/terminal.html b/resource/template/dashboard/terminal.html index 9e2b8df..d1825e6 100644 --- a/resource/template/dashboard/terminal.html +++ b/resource/template/dashboard/terminal.html @@ -6,7 +6,7 @@ - tty#{{.SessionID}} - {{.Title}} + tty@{{.ServerName}} - {{.Title}} @@ -20,6 +20,10 @@ width: 100vw; height: 100vh; } + + body { + background-color: black; + } @@ -44,6 +48,10 @@ onResize() } + socket.onerror = () => { + alert('Terminal 连接失败,请检查 /terminal/* 的 WebSocket 反代情况') + } + function onResize() { fitAddon.fit() const w = fitAddon.proposeDimensions(); diff --git a/service/dao/dao.go b/service/dao/dao.go index 45392d6..5cb22ec 100644 --- a/service/dao/dao.go +++ b/service/dao/dao.go @@ -13,7 +13,7 @@ import ( pb "github.com/naiba/nezha/proto" ) -var Version = "v0.9.23" // !!记得修改 README 中的 badge 版本!! +var Version = "v0.9.25" // !!记得修改 README 中的 badge 版本!! var ( Conf *model.Config