本教程适用于域名托管在 Cloudflare 并使用宝塔面板安装哪吒探针的场景,面板机系统为 Debian 11 或 Debian 12。

本教程 tz.xxx.com 都改成你自己的域名

1. Cloudflare 设置

  1. 域名解析

    • 将域名(如 tz.xxx.com)解析到哪吒探针面板服务器的 IP 地址,并开启小云朵(启用代理)。
  2. 网络设置

    • 打开 gRPCWebSockets 支持。
    • SSL/TLS 设置中,选择 完全(严格) 模式。
  3. 源服务器证书

    • 点击左侧 源服务器,创建一个 RSA (2048) 证书,有效期 15 年。
    • 保存好证书的 PEM 文件,后续将用于宝塔面板。

2. 面板机搭建

  1. 安装宝塔面板
    运行以下命令安装宝塔面板:

    wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec
    • 安装完成后,登录宝塔面板,选择 Nginx 进行安装。
  2. 添加站点

    • 在宝塔面板中,点击 网站 -> 添加站点,填写域名 tz.xxx.com,点击提交。
    • 进入站点设置,选择 SSL -> 其他证书,将 Cloudflare 生成的 PEM 证书粘贴到对应位置,点击保存(不要开启强制 HTTPS)。

3. 安装哪吒面板

  1. 运行安装脚本

    • 国外服务器

      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
  2. 安装配置

    • 按照提示输入以下信息:

      • 站点标题:自定义标题。
      • 暴露端口:默认 8008(直接回车)。
      • Agent 连接地址:填写 tz.xxx.com:443(必须带端口号)。
      • 是否使用 TLS 连接 Agent:选择 y
      • 后台语言:选择偏好语言。
  3. 测试访问

    • 安装完成后,使用 http://服务器IP:8008 访问面板,确保正常运行。

4. Cloudflare 回源 IP 段设置

  1. 创建更新脚本
    新建文件 /www/wwwroot/tz.xxx.com/update_cloudflare_ips.sh,内容如下:

    #!/bin/bash
    curl -s https://www.cloudflare.com/ips-v4 -o /www/wwwroot/tz.xxx.com/cloudflare_ips.conf
    sed -i 's/^/set_real_ip_from /' /www/wwwroot/tz.xxx.com/cloudflare_ips.conf
    sed -i 's/$/;/' /www/wwwroot/tz.xxx.com/cloudflare_ips.conf
    nginx -t && nginx -s reload
  2. 设置权限和定时任务

    • 赋予脚本执行权限:

      chmod +x /www/wwwroot/tz.xxx.com/update_cloudflare_ips.sh
    • 添加定时任务(每天凌晨 2 点更新):

      crontab -e

      添加以下内容:

      0 2 * * * /www/wwwroot/tz.xxx.com/update_cloudflare_ips.sh

5. 宝塔面板配置

  1. 添加 upstream dashboard 配置

    • 打开之前宝塔创建的站点设置 -> 配置文件,在最后面添加以下代码,然后点保存:

      upstream dashboard {
          keepalive 512;
          server 127.0.0.1:8008;
      }
    • 如果在安装哪吒监控时自定义了端口,将 8008 替换为自定义的端口。
  2. 反向代理设置

    • 在宝塔面板中,点击 反向代理 -> 添加反向代理,填写以下信息:

      • 代理名称:探针
      • 目标 URLhttp://127.0.0.1:8008
      • 发送域名$host
    • 保存后,点击反向代理的配置文件,将内容替换为以下代码:

      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;
      include /www/wwwroot/tz.xxx.com/cloudflare_ips.conf;
      real_ip_header CF-Connecting-IP;
      
      # 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;
      }

6. 哪吒面板设置

  1. 访问面板

    • 使用域名 tz.xxx.com 访问哪吒面板,修改默认密码。
  2. 真实 IP 设置

    • 在面板的 系统设置 中,将 真实 IP 请求头 设置为 CF-Connecting-IP,以确保显示真实 IP。

7. 添加服务器

  1. 安装 Agent

    • 在面板的 服务器 页面,选择对应的操作系统,复制安装命令。
    • 在目标服务器上运行安装命令,完成 Agent 的部署。
  2. 账单和流量信息及警报规则(可选)

    • 可以通过以下生成器生成 JSON 配置:

    • 示例 JSON 配置:

      {
          "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"
          }
      }

8. 老节点迁移

  1. 停止并卸载旧 Agent

    • 在旧节点上运行以下命令:

      cd /opt/nezha/agent/
      ./nezha-agent service uninstall
      rm -rf /opt/nezha/agent/
  2. 重新安装 Agent

    • 按照第 7 步的说明,在新面板中添加服务器并安装 Agent。

总结

通过以上步骤,你可以成功安装并配置哪吒探针 V1 版本,支持 Cloudflare CDN 和宝塔面板。如果遇到问题,可以参考官方文档或社区支持。

标签: 宝塔, Cloudflare, 哪吒探针, V1, CDN, 反代

上一篇: 推荐一个免费指纹浏览器RoxyBrowser
下一篇: 没有了

添加新评论