哪吒监控部署教程 – 从 HTTP 明文到 HTTPS 加密的完整配置

哪吒监控部署教程 – 从 HTTP 明文到 HTTPS 加密的完整配置

准备工作

你需要准备这些东西:

  • 一台 VPS(装了 1Panel 面板)
  • 一个域名(托管在 Cloudflare)
  • 一双能复制粘贴的手

第一步:Cloudflare 配置

1. 添加 DNS 记录

进入 Cloudflare 域名管理页面,添加一条 A 记录:

  • 类型:A
  • 名称:随便起,比如 nezha
  • 内容:你的服务器 IP
  • 代理状态关闭
  • TTL:自动就行

2. 开启 gRPC 支持(关键步骤!)

这步我翻了很多教程,基本上都不提 :face_with_head_bandage:

  1. 在 Cloudflare 点击你的域名
  2. 找到 网络(Network) 选项卡
  3. 往下翻找到 gRPC
  4. 把它打开

搞定这两步,Cloudflare 这边就配置完了。


第二步:安装哪吒 Dashboard

这里提供两种方法,推荐用第一种,简单省事。

方法 1:1Panel 应用商店安装(推荐)

  1. 打开 1Panel 面板
  2. 进入 应用商店
  3. 搜索 哪吒监控
  4. 点安装,记得勾选”允许外部访问”(不勾这个后面访问不了)
  5. 等它装完就行

方法 2:命令行安装

SSH 连上你的服务器,然后:

国外服务器用这个:

curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh

国内服务器用这个(有镜像加速):

curl -L https://gitee.com/naibahq/scripts/raw/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh

运行后选择 Docker 安装,然后等着就完事了。

装完之后,你可以用 http://服务器IP:8008 先访问一下,能看到登录页面就说明装成功了。


第三步:配置反向代理 :glowing_star:

这步是整个教程的核心,也是最容易出问题的地方。

1. 创建反向代理网站

  1. 在 1Panel 点 网站
  2. 创建网站 → 反向代理
  3. 域名 填你刚才在 Cloudflare 配的那个(比如 nezha.example.com
  4. 代理地址选择127.0.0.1:8008

2. 申请 SSL 证书

  1. 在网站列表找到刚创建的网站
  2. 点 证书 图标
  3. 申请一个证书(Let’s Encrypt 就行)
  4. 等它申请成功

证书申请成功~

3. 启用 HTTPS

  1. 点网站域名进入详情
  2. 进 HTTPS 选项卡
  3. 启用 HTTPS,选择刚申请的证书
  4. 建议勾上 自动跳转 HTTPS

4. 配置 upstream

  1. 点网站的 配置文件
  2. 在配置文件的最上方server 块之前)加上这段:
upstream dashboard {
    keepalive 512; 
    server 127.0.0.1:8008; 
}
  1. 保存

5. 配置反向代理规则

  1. 返回网站详情页
  2. 进 反向代理 选项卡
  3. 点 源文 或者编辑按钮
  4. 把原来的内容全删了,换成下面这一大坨:
location ^~ / {
    proxy_pass http://127.0.0.1:8008; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header REMOTE-HOST $remote_addr; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header nz-realip $http_cf_connecting_ip;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1; 
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;
    proxy_buffer_size 128k;
    proxy_buffers 4 128k; 
    proxy_busy_buffers_size 256k;
    proxy_max_temp_file_size 0;
    add_header X-Cache $upstream_cache_status; 
    add_header Cache-Control no-cache; 
    proxy_ssl_server_name off; 
    proxy_ssl_name $proxy_host; 
    add_header Strict-Transport-Security "max-age=31536000"; 
}

underscores_in_headers on;
set_real_ip_from 0.0.0.0/0;
real_ip_header CF-Connecting-IP;

# gRPC 服务(Agent 连接全靠这个)
location ^~ /proto.NezhaService/ {
    grpc_set_header Host $host;
    grpc_set_header nz-realip $http_cf_connecting_ip; 
    grpc_read_timeout 600s;
    grpc_send_timeout 600s;
    grpc_socket_keepalive on;
    client_max_body_size 10m;
    grpc_buffer_size 4m;
    grpc_pass grpc://dashboard;
}

# WebSocket 服务(终端功能要用)
location ~* ^/api/v1/ws/(server|terminal|file)(.*)$ {
    proxy_set_header Host $host;
    proxy_set_header nz-realip $http_cf_connecting_ip; 
    proxy_set_header Origin https://$host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;
    proxy_pass http://127.0.0.1:8008;
}
  1. 点保存

到这里,反向代理就配完了。现在试试用域名访问(https://nezha.example.com),应该能看到登录页面了。


第四步:初始化面板

登录

  • 用户名admin
  • 密码admin

登进去第一件事,马上去 个人资料 把密码改了,不然等着被爆破吧。

检查系统设置

  1. 进 系统设置
  2. 看 Agent 对接地址 是不是 你的域名:443
  3. 确认 TLS 连接 打钩了
  4. 没问题就保存

第五步:添加被监控服务器

  1. 点 服务器 → 添加服务器
  2. 填个名字,分组随意
  3. 选择你要监控的服务器的操作系统(Linux、Windows 之类的)
  4. 安装命令会自动复制到剪贴板

然后:

  1. SSH 连上你要监控的那台服务器
  2. 粘贴刚才复制的命令,回车
  3. 看到 安装成功 就行了

回到哪吒面板刷新一下,应该就能看到服务器上线了~

Leave a Reply