宝塔面板升级v1后,还是变化很大的,例如,登录无需再去github这套,套了cdn也只需要1个域名就行,不再区分 Dashboard 和 gRPC 端口,访问与通信均通过默认的 8008 端口。目前作者更新频率蛮高的,如果你机器多,建议还是在V0版本狗一段时间,如果你想尝鲜,可以跟着此教程来操作。

此教程为域名托管在cloudflare,且用宝塔面板来进行安装,且面板机系统为deiban11或debian12。
我们开始吧!

1、cloudflare设置

设计域名,打开小云朵;网路——打开gRPC和WebSockets;SSL设置 完全;申请一个15年的证书(这个自选,后期也可用宝塔申请,但宝塔续签证书偶尔会抽风)

2、面板机搭建

首先一台面板机的搭建,按照官方说法,1c512m就够用了。建议使用稳定的大厂机器。

安装宝塔面板
#升级系统

apt update -y && apt install wget curl sudo unzip git -y

#安装宝塔

curl -sSL https://www.aapanel.com/script/install_6.0_en.sh -o install_6.0_en.sh && bash install_6.0_en.sh aapanel

安装Docker

curl -fsSL https://get.docker.com | bash -s docker

3、安装哪吒面板

安装 Dashboard(也就是面板,后端,各种叫法。)
外国机,用以下代码

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 安装为例,安装过程按提示输入以下信息:

请输入站点标题: - 自定义你的站点标题(自行设置)。
请输入暴露端口: - 公开访问端口(可直接默认 8008,回车就行)。
请指定安装命令中预设的 nezha-agent 连接地址: - Agent对接地址【域名/IP:端口】(此处设置为 dashboard.demo.com:443)。
是否希望通过 TLS 连接 agent : Agent 通信使用 TLS 连接(选 y)。
请指定后台语言: - 选择语言偏好。

安装完后,可以先用你的ip:8008就能访问了。如果没问题,我就进行下一步

4.宝塔面板设置

创建一个网站,静态解开

打开配置文件菜单,在最后面填上以下代码,然后点保存:(如果在安装哪吒监控时,你自定义了端口,把下面代码中的8008改为你自定义的端口)

upstream dashboard {
    keepalive 512; 
    server 127.0.0.1:8008; 
}

关键一步
打开反向代理 —— 添加反向代理,127.0.01:8008,保存.
然后点击上图中添加的反向代理目录中的配置文件,将里面的内容全选删除,并替换为以下代码,然后点保存:(如果在安装哪吒监控时,你自定义了端口,把下面代码中的8008改为你自定义的端口)

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; # CDN 回源 IP 地址段
real_ip_header CF-Connecting-IP; # CDN 私有 header,此处为 CloudFlare 默认

# gRPC 服务
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;
}

然后开启ssl。

5、哪吒面板设置

到这里,你就能用域名访问你的面板了。先记得改密码,然后设置,因为面板和 agent 都开启了 CF CDN,我们需要在面板系统设置里面的真实 IP 请求头填写

CF-Connecting-IP

,后台的登录 IP 以及其它地方才能正常显示真实 IP。

添加服务监控
上海电信 sh.telecom.818198.xyz:80
上海移动 sh.mobile.818198.xyz:80
广东移动 gz.mobile.818198.xyz:80
广州电信 gz.telecom.818198.xyz:80

全国各省份三网 TCP-Ping IPv4 地址

全国各省份三网 TCP-Ping IPv6 地址

6、添加节点

直接在后台——服务器———安装命令选对应的机器。然后到节点机器上粘贴就行。
这里补充一个小机器,可以加入机器的到期时间和价格等,防止忘记续费。(官方教程:https://nezha.wiki/guide/servers.html)

{
    "billingDataMod": {
        "startDate": "2024-12-08T12:58:17.636Z", 
        "endDate": "2024-12-08T12:58:17.636Z",   
        "autoRenewal": "1",                     
        "cycle": "Year",                        
        "amount": "200EUR"                     
    },
    "planDataMod": {
        "bandwidth": "30Mbps",                  
        "trafficVol": "1TB/Month",              
        "trafficType": "2",                    
        "IPv4": "1",                            
        "IPv6": "1",                            
        "networkRoute": "4837",                 
        "extra": "Einstein"                     
    }
}

配置字段说明

账单信息 billingDataMod:
startDate:账单起始日期(ISO 时间格式)。
endDate:账单结束日期(ISO 时间格式)。
autoRenewal:自动续费状态,1 表示启用。
cycle:账单周期(如 月、年)。
amount:账单金额及货币单位。
流量和网络配置 planDataMod:

bandwidth:服务器带宽信息。
trafficVol:流量配额及周期。
trafficType:流量类型,1 表示入站,2 表示双向。
IPv4 / IPv6:支持的 IPv4 或 IPv6 地址数量。
networkRoute:网络路由信息(如 AS4837)。
extra:额外备注字段,可用于填写其他信息。

原文链接:https://ybfl.net/sites/467.html