准备工作
你需要准备这些东西:
- 一台 VPS(装了 1Panel 面板)
- 一个域名(托管在 Cloudflare)
- 一双能复制粘贴的手
第一步:Cloudflare 配置
1. 添加 DNS 记录
进入 Cloudflare 域名管理页面,添加一条 A 记录:
- 类型:A
- 名称:随便起,比如
nezha - 内容:你的服务器 IP
- 代理状态:关闭
- TTL:自动就行

2. 开启 gRPC 支持(关键步骤!)
这步我翻了很多教程,基本上都不提
:
- 在 Cloudflare 点击你的域名
- 找到 网络(Network) 选项卡
- 往下翻找到 gRPC
- 把它打开

搞定这两步,Cloudflare 这边就配置完了。
第二步:安装哪吒 Dashboard
这里提供两种方法,推荐用第一种,简单省事。
方法 1:1Panel 应用商店安装(推荐)
- 打开 1Panel 面板
- 进入 应用商店
- 搜索 哪吒监控
- 点安装,记得勾选”允许外部访问”(不勾这个后面访问不了)
- 等它装完就行

方法 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 先访问一下,能看到登录页面就说明装成功了。
第三步:配置反向代理 
这步是整个教程的核心,也是最容易出问题的地方。
1. 创建反向代理网站
- 在 1Panel 点 网站
- 创建网站 → 反向代理
- 域名 填你刚才在 Cloudflare 配的那个(比如
nezha.example.com) - 代理地址选择
127.0.0.1:8008

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

证书申请成功~

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


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

5. 配置反向代理规则
- 返回网站详情页
- 进 反向代理 选项卡
- 点 源文 或者编辑按钮
- 把原来的内容全删了,换成下面这一大坨:
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;
}
- 点保存

到这里,反向代理就配完了。现在试试用域名访问(https://nezha.example.com),应该能看到登录页面了。
第四步:初始化面板
登录
- 用户名:
admin - 密码:
admin
登进去第一件事,马上去 个人资料 把密码改了,不然等着被爆破吧。
检查系统设置
- 进 系统设置
- 看 Agent 对接地址 是不是
你的域名:443 - 确认 TLS 连接 打钩了
- 没问题就保存

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

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

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